目录
创建一个路径下的某一个文件,且这个路径还不一定存在(封装工具类):
在我的理解就是一个工具类,是一个操作文件的类
在学习IO流之前我们先介绍一下:
IO流就是对于文件的操作:
Input:把数据从物理内存加载到运行内存。(读文件)所谓的输入就是读文件
Output:把数据从运行内存写道物理内存。(写文件)
计算机的输入输出都是通过二进制完成的。
我们书写文件的路径:
正斜杠:左斜杠:撇:/
反斜杠:右斜杠:捺:\
在Unix/Linux,路径的分隔采用正斜杠/,
在windows,中路径分隔采用的都是反斜杠\。
在File类中,定义了路径分隔符的常量:
File.separator-----------反斜杠:\
File.pathSeparator-----分号:;
在java里,\代表了转义字符:
\r | 回车 |
\n | 换行 |
\f | 走纸换页 |
\t | 横向跳格 |
\b | 退格 |
File file1 = new File(URI uri);URI转换为抽象路径名来创建新的File实例
File file2 = new FIle(String parent,String child);从父路径名字符串和子路径名字符串创建新的File实例
File file3 = new File(File parent,String child);从抽象路径名和子路径名字创建新的File实例。
实际操作:
- File file1 =new File("C:\\summerjava");
- System.out.println("file1="+file1);
- File file2 = new File("C:\\summerjava","homework0713");
- System.out.println("file2="+file2);
- File file3 = new File(file1,"homework0713");
- System.out.println("file3="+file3);
file.createNewFile();
创建文件的时候会抛异常:
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
为什么?答:因为怕你没有上一级菜单,所以会抛异常
file.delete()
删除有返回值,返回值为boolean
删除是没有异常的,如果存在就删除,不存在这个文件就拉到。
ps:file类删除时时不走回收站的
file.mkdir(); //只能创建一级目录
file.mkdirs(); //可以创建多级目录
- import java.io.File;
- import java.io.IOException;
-
- public class FileUtil {
-
- /*
- 分析:
- 1.传入的路径是一个e:\\a\b\c\aaa.txt
- 2.传入的路径是一个e:/a/b/c/bbb.txt
- */
- public static boolean createDirAndFile(String filepath) throws IOException {
- File file = null;
- if(filepath.contains("/")){
- if(filepath.contains("\\")){
- throw new RuntimeException("路径不合法");
- }else {
- // e:\\a\\b\\c\\a.txt
- int index = filepath.lastIndexOf("/");
- String filename = filepath.substring(index,filepath.length());
- filepath = filepath.substring(0, index+ 1);
- file = new File(filepath);
- file.mkdirs();
- // 创建文件
- File newFile = new File(filepath,filename);
- newFile.createNewFile();
- return true;
- }
- }
- if(filepath.contains("\\")){
- if(filepath.contains("/")){
- throw new RuntimeException("路径不合法");
- }else {
- // e:\\a\\b\\c\\a.txt
- int index = filepath.lastIndexOf("\\");
- String filename = filepath.substring(index,filepath.length());
- filepath = filepath.substring(0, index+ 1);
- file = new File(filepath);
- file.mkdirs();
- // 创建文件
- File newFile = new File(filepath,filename);
- newFile.createNewFile();
- return true;
- }
- }
-
- throw new RuntimeException("路径不合法");
- }
-
- public static void main(String[] args) {
- // String str = "e:\\a\\b\\c\\a.txt";
- // System.out.println(str.contains("/"));
- try {
- createDirAndFile("d");
- System.out.println("文件创建成功...");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- }