Java IO之File 类详解
什么是File类
Java IO中的File类用于表示文件或目录的抽象路径名。
File类是Java IO包中最基础的类之一,它提供了对文件系统中文件或目录进行操作的方法。File类的对象可以是目录或文件,可以进行文件的创建、删除、重命名,以及返回一些有关文件或目录的基本信息(如文件名、路径、大小、修改时间等)。
File类的构造方法
File类提供了多个构造方法:
- File(String pathname):可根据指定的字符串路径创建新File实例
- File(String parent, String child):根据指定的父路径和子路径创建新File实例,等价于new File(new File(parent), child)
- File(File parent, String child):根据指定的父路径File对象和子路径创建新File实例
- File(URI uri):根据指定的URI路径创建新File实例
示例代码:
// 使用File(String pathname)构造方法创建File实例
File f1 = new File("D:\\test\\test.txt");
// 使用File(String parent, String child)构造方法创建File实例
File f2 = new File("D:\\test", "test.txt");
// 使用File(File parent, String child)构造方法创建File实例
File parent = new File("D:\\test");
File f3 = new File(parent, "test.txt");
// 使用File(URI uri)构造方法创建File实例
URI uri = new URI("file:///D:/test/test.txt");
File f4 = new File(uri);
File类的常用方法
文件操作方法
- createNewFile():创建新文件
- delete():删除文件或目录
- exists():判断文件或目录是否存在
- canRead():判断文件是否可读
- canWrite():判断文件是否可写
- canExecute():判断文件是否可执行
- renameTo(File dest):重命名文件或目录
示例代码:
// 创建新文件
File file = new File("D:\\test\\test.txt");
file.createNewFile();
// 删除文件
File file = new File("D:\\test\\test.txt");
file.delete();
// 判断文件是否存在
File file = new File("D:\\test\\test.txt");
if (file.exists()) {
// 文件存在
}
// 判断文件是否可读
File file = new File("D:\\test\\test.txt");
if (file.canRead()) {
// 文件可读
}
// 判断文件是否可写
File file = new File("D:\\test\\test.txt");
if (file.canWrite()) {
// 文件可写
}
// 重命名文件
File file = new File("D:\\test\\test.txt");
file.renameTo(new File("D:\\test\\test2.txt"));
目录操作方法
- mkdir():创建新目录
- mkdirs():创建新目录以及其所有父目录
- list():返回目录下的所有文件及目录名称数组
- listFiles():返回目录下的所有文件及目录File对象数组
示例代码:
// 创建新目录
File dir = new File("D:\\test");
dir.mkdir();
// 创建新目录以及其所有父目录
File dir = new File("D:\\test\\a\\b\\c");
dir.mkdirs();
// 返回目录下的所有文件及目录名称数组
File dir = new File("D:\\test");
String[] files = dir.list();
for (String fileName : files) {
System.out.println(fileName);
}
// 返回目录下的所有文件及目录File对象数组
File dir = new File("D:\\test");
File[] files = dir.listFiles();
for (File file : files) {
System.out.println(file.getName());
}
总结
File类提供了操作文件和目录的很多方法,可以满足我们日常处理文件的需求。在使用File类时,需要注意路径分隔符的不同,Windows系统使用反斜杠(\),而Unix/Linux系统使用斜杠(/)。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java IO之File 类详解 - Python技术站