栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java IO(1) File类常用方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java IO(1) File类常用方法

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();
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号