title:JAVA IO——File类的使用
JAVA IO——File类的使用
1.File类
2.路径名的分隔
我们知道不同平台上的路径名的分隔符也是不同的。
以Windows为例:
D:\\java\\io\\file类
//路径名通常用\\分隔
3.File类的构造函数
构造函数 | 描述 |
---|---|
File(File parent, String child) | File 从父抽象路径名和子路径名字符串创建新实例。 |
File(String pathname) | File 通过将给定的路径名字符串转换为抽象路径名来创建新实例。 |
File(String parent, String child) | File 从父路径名字符串和子路径名字符串创建新实例。 |
File(URI uri) | File 通过将给定的file: URI转换为抽象路径名来创建新实例 。 |
代码演示:
//抽象路径“D:\\java\\io\\file”,使用字符串构造实例
File file = new File("D:\\java\\io\\file");
System.out.println(file);//输出 D:\java\io\file
//使用父抽象路径,和子路径字符串构造实例
File file1 = new File(file,"test1.txt");
System.out.println(file1);//输出 D:\java\io\file\test1.txt
//通过给定路径字符串构造实例
File file2 = new File ("D:\\java\\io\\file\\test2.txt");
System.out.println(file2);//输出 D:\java\io\file\test2.txt
4.file类的常用方法
修饰符和类型 | 方法 | 描述 |
---|---|---|
boolean | canRead() | 测试应用程序是否可以读取此抽象路径名表示的文件。 |
boolean | canWrite() | 测试应用程序是否可以修改此抽象路径名表示的文件。 |
boolean | createNewFile() | 当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。 |
boolean | delete() | 删除此抽象路径名表示的文件或目录。 |
boolean | exists() | 测试此抽象路径名表示的文件或目录是否存在。 |
File | getAbsoluteFile() | 返回此抽象路径名的绝对形式。 |
String | getAbsolutePath() | 返回此抽象路径名的绝对路径名字符串。 |
String | getName() | 返回此抽象路径名表示的文件或目录的名称。 |
String | getParent() | 返回此抽象路径名父项的路径名字符串,或者 null 此路径名未指定父目录。 |
boolean | isDirectory() | 测试此抽象路径名表示的文件是否为目录。 |
boolean | isFile() | 测试此抽象路径名表示的文件是否为普通文件。 |
long | length() | 返回此抽象路径名表示的文件的长度。 |
String[] | list() | 返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。 |
File[] | listFiles() | 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。 |
boolean | mkdir() | 创建此抽象路径名指定的目录。 |
boolean | mkdirs() | 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。 |
代码演示:
File f1 = new File("D:\\io");
File f2 = new File("D:\\io.txt");
//判断“D:\\io”是否存在
System.out.println(f1.exists());//输出false
//如果“D:\\io”不存在则创建目录
if(!f1.exists()) {
f1.mkdir();
}
//判断“D:\\io”是否为文件,如果“D:\\io”不存在返回false
System.out.println(f1.isDirectory());// 输出 true
//判断“D:\\io.txt”存不存在,如果不存在则创建,并判断“D:\\io.txt”是否为文件
if(!f2.exists()) {
f2.createNewFile();
}
System.out.println(f2.isFile());//输出 true
System.out.println(f1.getName());// 输出 io
System.out.println(f1.getAbsolutePath()); //输出 D:\\io
System.out.println(f2.getParent());// 输出 D:\
System.out.println(f2.length());// 输出 0
5.遍历一个目录下的所有文件
public void listDirctory(File dir) throws IOException {
if(!dir.exists()) {
throw new IllegalArgumentException("目录"+dir+"不存在");
}
else if(!dir.isDirectory()) {
throw new IllegalArgumentException(dir+"不是目录");
}
File[] files = dir.listFiles();
if (files!=null && files.length>0) {
for (File f : files) {
if (f.isDirectory()) {
listDirctory(f);
}
else {
System.out.println(f);
}
}
}
}
转载请注明:https://blog.csdn.net/qq_43544492/article/details/84894638