今天我給大家分享一下Java的文件的學習總結。
文件如何表示:Java 使用File類進行文件對象的封裝。要注意的是,File類只是數據的封裝,不具備文件中數據的讀寫操作,只有流才具備這個功能。
File類
File對象如何創建?
- 通過相對路徑 String類型的路徑描述
- 通過絕對路徑
File類常見的操作(包含文件和文件夾的操作):
- 文件的操作
文件的操作⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧isFile:判斷是否爲文件createNewFile:創建一個不存在的文件length:文件的大小,指的是文件中存儲數據的長度,單位是字節canRead、canWrite、canExecute:文件是否可讀、可寫、可執行exists:文件是否存在lastModified:顯示文件的最後一次操作getPath:獲取文件相對路徑getAbsolutePath:獲取文件的絕對路徑delete:刪除文件。若文件正在被使用,則可能刪除失敗
File file = new File("./111.txt");
file.createNewFile();
System.out.println(file.isFile());
System.out.println(file.length());
System.out.println(file.canRead());
System.out.println(file.exists());
System.out.println(new Date(file.lastModified()));
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.delete());
- 文件夾的操作
文件夾的操作⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧isDirectory:判斷是否爲文件夾創建文件夾{mkdir:如果該文件夾對象只有一個層級,則可以創建成功mkdirs:如果該文件夾路徑中有些文件不存在,可以一並創建listFiles:獲取文件夾下子文件對象delete:刪除文件夾。若該文件夾爲空,則可以刪除成功,不爲空則失敗。
File file = new File("./files");
System.out.println(file.isDirectory());
File files = new File("./abc/def/111");
System.out.println(file.mkdirs());
File file = new File("./doc");
File[] files = file.listFiles();
for(File f : files) {
System.out.println(f.getName());
}
package com.langsin.io;
import java.io.File;
import java.io.IOException;
public class Test {
public static void deleteFile(File file) {
if(file.isFile()) {
file.delete();
} else {
File[] files = file.listFiles();
for(File f : files) {
deleteFile(f);
}
file.delete();
}
}
public static void main(String[] args) throws IOException {
File file = new File("./abc");
deleteFile(file);
}
}