一, File 类
File 类具备一定的误导性, 可能容易认为它指代的是文件, 实际并非如此, 它既能代表一个特定文件的名称, 又能表示一个目录下一组文件的名称. 简而言之, File 类是文件或者目录路径名的抽象表示, 可以帮助我们处理文件目录的问题.
注意: File 类只能操作文件的属性, 文件的内容它是无法操作的, 需要借助流才能操作.
二, File 类的使用
- public class FileDemo {
- public static void main(String[] args) {
- File file2 = new File("E:\\test\\a.txt");// 特别需要注意, 这样的路径形式在 windows 下有效
- File file3 = new File("E:\\test");// 通过路径构建 File
- File file4 = new File("E:","test");// 从父类路径和子类路径名构建 File
- File file5 = new File(file3,"a.txt");// 从父类 File 和子类路径名构建 File
- System.out.println(file2);
- System.out.println(file3);
- System.out.println(file4);
- System.out.println(file5);
- System.out.println(File.separator);// 连续多个路径字符串的分隔符
- System.out.println(File.pathSeparator);// 分隔同一个路径字符串中的目录的
- File[] files = File.listRoots();
- for (File file : files) {
- System.out.println(file);
- }
- }
- }
结果输出:
- E:\test\a.txt
- E:\test
- E:\test
- E:\test\a.txt
- ;
- C:D:E:F:\
三, File 类常用方法
, 创建方法
1.boolean createNewFile() 根绝给定的 path 创建文件, 不存在返回 true 存在返回 false
2.boolean mkdir() 创建目录, 如果上一级目录不存在, 则会创建失败
3.boolean mkdirs() 创建多级目录, 如果上一级目录不存在也会自动创建
, 删除方法
1.boolean delete() 删除文件或目录, 如果表示目录, 则目录下必须为空才能删除
2.boolean deleteOnExit() 文件使用完成后删除
, 判断方法
1.boolean canExecute() 判断文件是否可执行
2.boolean canRead() 判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件或目录是否存在
5.boolean isDirectory() 判断此路径是否为一个目录
6.boolean isFile() 判断是否为一个文件
7.boolean isHidden() 判断是否为隐藏文件
8.boolean isAbsolute() 判断是否是绝对路径 文件不存在也能判断
, 获取方法
1.String getName() 获取此路径表示的文件或目录名称
2.String getPath() 将此路径名转换为路径名字符串
3.String getAbsolutePath() 返回此抽象路径名的绝对形式
- String getParent()// 如果没有父目录返回 null
- long lastModified()// 获取最后一次修改的时间
6.long length() 返回由此抽象路径名表示的文件的长度.
7.boolean renameTo(File f) 重命名由此抽象路径名表示的文件.
8.File[] liseRoots()// 获取机器盘符
9.String[] list() 返回一个字符串数组, 命名由此抽象路径名表示的目录中的文件和目录.
10.String[] list(FilenameFilter filter) 返回一个字符串数组, 命名由此抽象路径名表示的目录中满足指定过滤器的文件和目录.
具体的使用如下 (挑选几个常用的):
- public class FileDemo2 {
- public static void main(String[] args) {
- File file = new File("E:\\test.txt");
- try {
- // 创建文件
- System.out.println(file.exists());// 判断文件是否存在
- System.out.println(file.createNewFile());// 创建文件, 空文件, 大小为 0
- System.out.println(file.exists());// 判断文件是否存在
- // 获取文件相关属性
- System.out.println(file.length());// 文件大小
- System.out.println(new Date(file.lastModified()));// 文件最后修改时间
- System.out.println(file.getName());// 获取文件名
- System.out.println(file.getPath());// 获取文件路径
- System.out.println(file.getAbsolutePath());// 获取绝对路径
- System.out.println(file.getParent());// 获取父路径
- System.out.println(file.getParentFile());// 获取父 File
- // 判断文件的相关特点
- System.out.println(file.canExecute());// 能否执行
- System.out.println(file.canRead());// 能否读写
- System.out.println(file.canWrite());// 能否读写
- System.out.println(file.isFile());// 是否是文件
- System.out.println(file.isHidden());// 是否是隐藏文件
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
结果输出:
- false
- true
- true
- 0
- Tue Jul 10 21:47:32 CST 2018
- test.txt
- E:\test.txt
- E:\test.txt
- E:E:true
- true
- true
- true
- false
来源: http://www.bubuko.com/infodetail-2680167.html