Java IO

Java IO,第1张

Java IO File类常用方法
  • 一、File类
    • 1 new File对象
      • 1.1 new 目录的File对象
      • 1.2 new 文件的File对象
    • 2 判断目录或文件是否存在
    • 3 创建目录
      • 3.1 创建单层目录
      • 3.2 创建多层目录
    • 4 创建文件
    • 5 获取目录或文件的属性
    • 6 遍历目录
      • 6.1 遍历某目录下的目录和文件的Name
      • 6.2 遍历某目录下的目录和文件的File对象
      • 6.3 根据过滤条件遍历某目录
    • 7 删除目录或文件

一、File类

Java中的File类是很常用的,它可以表示文件也可以表示文件夹(目录)

1 new File对象 1.1 new 目录的File对象
//相对路径
String dirPath = "src/main/resources/fileio";
File dir = new File(dirPath);

//绝对路径
String dirAbsolutePath = "D:\project\my-project\json\src\main\resources\fileio2";
File dir2 = new File(dirAbsolutePath);
1.2 new 文件的File对象
//相对路径
String dirPath = "src/main/resources/fileio2/test.txt";
File file = new File(dirPath);

//绝对路径
String dirPath = "D:\project\my-project\json\src\main\resources\fileio2\test2.txt";
File file = new File(dirPath);
2 判断目录或文件是否存在
//相对路径
String dirPath = "src/main/resources/fileio";
File dir = new File(dirPath);

if (dir.exists()) {
    System.out.println("存在");
} else {
 	System.out.println("不存在");
}
3 创建目录

mkdir()和mkdirs()都可以创建目录,但是场景不同

3.1 创建单层目录
String dirPath = "src/main/resources/fileio3";
File dir = new File(dirPath);
if (!dir.exists()) {
    dir.mkdir();
}
3.2 创建多层目录
String dirPath = "src/main/resources/fileio2/dir1/dir2/dir3/dir4";
File dir = new File(dirPath);
if (!dir.exists()) {
    dir.mkdirs();
}
4 创建文件

createNewFile()是创建指定的文件

String filePath = "src/main/resources/fileio2/test.txt";
File file = new File(filePath);
if (!file.exists()) {
    if (file.createNewFile()){
        System.out.println("创建成功 = " + file.exists());
    }
}
5 获取目录或文件的属性
 //判断File对象是否为文件?
 System.out.println("dir.isFile() = " +  dir.isFile());
 //判断File对象是否为目录?
 System.out.println("dir.isDirectory() = " +  dir.isDirectory());
 //判断是否是绝对路径
 System.out.println("dir.isAbsolute() = " +  dir.isAbsolute());
 //构造参数pathname
 System.out.println("dir.getPath() = " +  dir.getPath());
 //获取绝对路径
 System.out.println("dir.getAbsolutePath() = " +  dir.getAbsolutePath());
 System.out.println("dir.getAbsoluteFile() = " +  dir.getAbsoluteFile());
 //标准规范绝对路径
 System.out.println("dir.getCanonicalPath() = " +  dir.getCanonicalPath());
 //获取目录名或者文件名
 System.out.println("dir.getName() = " +  dir.getName());
 //获取父目录
 System.out.println("dir.getParent() = " +  dir.getParent());
6 遍历目录 6.1 遍历某目录下的目录和文件的Name
String dirPath = "src/main/resources/fileio2";
File dir = new File(dirPath);
String[] list = dir.list();
Stream.of(list).forEach(s -> {
    System.out.println(s);
});
6.2 遍历某目录下的目录和文件的File对象
File[] listFiles = dir.listFiles();
Stream.of(listFiles).forEach(s -> {
    System.out.println(s.getName());
});
6.3 根据过滤条件遍历某目录
FileFilter fileFilter = new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        return pathname.isDirectory();
    }
};
File[] files = dir.listFiles(fileFilter);
Stream.of(files).forEach(s -> System.out.println(s.getName()));
7 删除目录或文件

被删除的目录下面不能有目录或者文件

String dirPath = "src/main/resources/fileio";
File dir = new File(dirPath);
//如果目录或者文件存在,删除成功返回true,如果不存在,则返回false
dir.delete();

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/797562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存