File类
File类
cpp
在java中,通过java.io.File类来对一个文件进行抽象的描述.
下面我们来看看File类的构造方法:
签名 | 说明 |
---|---|
File(File parent, String child) | 根据父目录+孩子文件路径,创建出一个新的File实例 |
File(String pathname) | 根据文件路径创建一个新的File实例,路径可以是绝对路径和相对路径 |
File(String parent, String child) | 根据父文件路径+孩子文件路径,创建一个新的File实例 |
下面我将通过一些方法熟悉一下文件操作:
创建File实例
java
public static void main(String[] args) throws IOException {
// 使用绝对路径创建一个File实例
File file = new File("d:/test.txt");
// 查看父亲目录
System.out.println(file.getParent());;
// 查看文件名
System.out.println(file.getName());
// 当前文件路径
System.out.println(file.getPath());
// 绝对路径
System.out.println(file.getAbsolutePath());
// 对绝对路径进行修饰
System.out.println(file.getCanonicalPath());
}
// d:\
//test.txt
//d:\test.txt
//d:\test.txt
//D:\test.txt
以上操作并没有真正创建文件,我们要通过调用createNewFile方法创建文件
创建文件
java
public static void main(String[] args) throws IOException {
File file = new File("d:/test.txt");
// 创建一个文件
file.createNewFile();
// 文件是否存在
System.out.println(file.exists());
// 是否是文件
System.out.println(file.isFile());
// 是否是目录
System.out.println(file.isDirectory());
}
// 我们已经在d:/下创建了一个文件test.txt.
// true
// true
// false
下面我们进行文件的删除操作, 有立即删除, 和在程序结束后删除两种情况:
删除文件
java
public static void main(String[] args) throws InterruptedException {
File file = new File("d:/test.txt");
// 直接删除
//file.delete();
// 等待程序退出后删除
file.deleteOnExit();
Thread.sleep(5000);
}
创建目录
java
public static void main(String[] args) {
// 以相对路径创建目录
File file = new File("./testDir");
// 创建目录
file.mkdir();
// 创建多级目录
//file.mkdirs();
}
可以看到, 当前创建了一个testDir目录.
Reader
java
public static void main(String[] args) throws IOException {
// 构造方法: 1. 绝对路径 2. 相对路径 3.已经构造好的file对象
// 只要try(){}执行完了,就会自动调用close方法
try(Reader reader = new FileReader("./testDir/test.txt")) {
while (true) {
char[] buf = new char[1024];
// 实际读到的字符个数
int n = reader.read(buf);
// n == -1: 表示读到末尾了
if(n == -1) {
break;
}
for (int i = 0; i < n; i++) {
System.out.print(buf[i] + "");
}
}
}
}
小结
上述我们基于File类进行文件系统的操作, 在下篇博客将会使用文件流的方式操作文件系统,
希望有收获的小伙伴多多支持.