使用File类操作文件
基本方法:
- public boolean createNewFile()无目录则创建并返回true,有则不创建返回false
- public boolean mkdir()创建一个多级目录
- public boolean mkdirs()创建一个多级目录,包括不存在的父目录
- public boolean delete()删除文件功能
- public String[] list()遍历文件,返回字符串数组
public File[] listFiles()遍历文件,返回File类型数组
一、创建一个txt的文件
File file = new File("C:\\未来教育考试系统V4.0\\2.txt");
System.out.println(file.getAbsolutePath());
System.out.println(file.createNewFile());
输出结果:
该txt文件创建成功,我们可以复制该文件的绝对路径来查看该文件是否存在。
我们可以看到2.txt文件是存在的,所以使用该方法创建成功。
但是如果出现以下异常
我们需要右键打开路径所在硬盘的属性–安全–高级–更改权限–编辑,完全控制打√即可。
二、使用mkdir方法创建多级目录
File file = new File("C:\\web\\javaee");
System.out.println(file.mkdir());
此时显示我们创建该目录失败。
由于不存在web这个目录,我们需要先创建web这个目录后在创建javaee目录。该方法不会创建未存在的父目录。
File file = new File("C:\\web");
System.out.println(file.mkdir());
结果如下:
然后创建在web目录下创建javaee目录
File file = new File("C:\\web\\javaee");
System.out.println(file.mkdir());
这时我们可以去C:\web\javaee看看结果
这时目录已经创建成功。
三、使用mkdirs方法创建多级目录
mkdirs创建多级目录会将会创建的父目录创建出来。
File file = new File("C:\\web\\javaee\\java学习一\\泛型.txt");
System.out.println(file.mkdirs());
这时我们来看看结果:
我们不难发现该方法无法创建txt文件,只能创建目录文件。如果需要创建txt文件需要用到createNewFile方法
File file = new File("C:\\web\\javaee\\java学习一\\泛型.txt");
System.out.println(file.createNewFile());
此时返回false的原因是该目录出现了两个名字相同的文件,这时不允许的,我们对它进行改名。
结果如下:
四、删除文件
File file = new File("C:\\web\\javaee\\java学习一\\多线程.txt");
System.out.println(file.delete());
结果如下:
五、文件的遍历
这是我们需要遍历的文件
1、list方法遍历
File file = new File("C:\\web");
String[] list = file.list();
for(String s:list)
System.out.println(s);
结果如下:
2、listFiles方法遍历
File file = new File("C:\\web");
File[] listFiles = file.listFiles();
for(File s:listFiles)
System.out.println(s);
输出结果:
这里我们看到的是文件的绝对路径,使用的是File默认的toString()方法。
相比于前者的list方法,listFiles方法能拿到File对象,能够对对象进行操作。