File类
1.File
*IO流操作中大部分都是对文件的操作,Java中提供了File类供我们进行操作文件
*IO流操作是针对文件的内容进行操作
*File操作是针对文件的属性进行操作
2.构造方法
-
File test1 = new File(file1, “test1.txt”);//第一个参数表示文件夹的File实例,第二参数是子文件/文件夹的路径
-
File test1 = new File(“F:/file1”, “test1.txt”);//第一个参数表示文件夹的路径,第二参数是子文件/文件夹的路径
-
File test1 = new File(“F:/file1/test1.txt”);//参数表示文件/文件夹的路径
代码演示
package com.tian.text;
import java.io.File;
public class MyFile {
public static void main(String[] args) {
File file1 = new File("D:/file1");
File test1 = new File(file1, "test1.txt");
// File test1 = new File("F:/file1", "test1.txt");
// File test1 = new File("F:/file1/test1.txt");
System.out.println(test1);//D:\file1\test1.txt
}
}
3.File类的方法
- canWrite:测试谁的是否只读;只读表示不能写入数据,返回false;如果可写入数据,返回true
- setWritable:设置文件的只读属性
- createNewFile:创建文件,如果创建成功返回true;否则返回false
- delete:删除文件或文件夹,删除成功返回true,否则返回false
- 如果删除文件夹,要求文件夹中的没有其它文件,只能删除空文件夹
- mkDir():创建文件夹,要求父级文件夹必需已创建
- mkDir():创建文件夹,允许父级文件夹下起创建
- isDirectory() :判断File对象是否是一个文件夹
- isFile():判断File对象是否是一个文件
- getFreeSpace():剩余容量大小
- getName:获取文件或文件夹的名称
- isHidden:判断是否为隐藏文件/文件夹
- listRoots():可使用的盘符(C: D: F:)
- renameTo:修改文件名或文件目录,可以起到剪切的作用
代码演示
package com.tian.text;
import java.io.File;
import java.io.IOException;
public class MyFile {
public static void main(String[] args) throws IOException {
File file1 = new File("D:/file1");
//File file1 = new File("D:/file1/a/b/c");
File test1 = new File(file1, "test2.txt");
File test2 = new File("F:/file1/a/b/c", "test2.txt");
System.out.println(test1);//D:\file1\test1.txt
test1.setWritable(true);
System.out.println(test1.canWrite());
try {
System.out.println(test1.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(test1.delete());
System.out.println(file1.delete());//false
boolean flag = file1.mkdirs();
System.out.println(flag);
System.out.println(file1.exists());//是否存在
if(!test2.exists()){
if(!test2.getParentFile().exists()){
test2.getParentFile().mkdir();
}
boolean flag1 = test2.createNewFile();
System.out.println("创建文件"+flag1);
}
System.out.println(file1.isDirectory());
System.out.println(test2.isFile());
File[] files = File.listRoots();
for (File file:files) {
System.out.println(file);
}
}
}