File類是io包中唯一代表磁盤文件本身的對象。File類定義了一些與平台無關的方法來操作文件,可以通過調用File類中的方法,實現創建、刪除、重命名文件等。File類的對象主要用來獲取文件本身的一些信息,如文件所在目錄、文件的長度、文件讀寫權限等。數據流可以將數據寫入到文件中,而文件也是數據流最常用的數據媒體。
1、文件的創建與刪除
可以使用File類創建一個文件對象,File類構造方法:
(1)File(String pathname)
該構造方法通過將給定路徑名字字符串轉換為抽象路徑來創建一個新File實例。
new File(String pathname)
pathname:是指路徑名(包含文件名)
File file = new File("D:/test.txt")或者 File file =new File("D:\\test.txt")
(2)File(String parent ,String child)
該構造方法根據定義的父路徑和子路徑字符串(包含文件名)創建一個新的File實例。
(3)File(File f ,String child)
該構造方法根據parent抽象路徑名和child路徑名字符串創建一個新File實例。
使用File類創建一個文件對象:File file = new File("D:/myword","word.txt");
如果D:/myword目錄中沒有名稱為word的文件,File類對象可通過調用createNewFile()方法創建一個名稱為word.txt的文件;如果word.txt文件存在,可以通過文件對象的delete()方法將其刪除。
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
File file = new File("D:\\test","test6.txt");
if(file.exists()){
file.delete() ;
System.out.println("文件已刪除!");
}else {
try {
file.createNewFile() ;
System.out.println("文件已創建!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2、獲取文件信息
File類提供了很多用於獲取文件本身的一些信息,常用方法:
方法 | 描述 |
String getName() | 獲取文件的名稱 |
boolean canRead() | 判斷文件是否是可讀的 |
boolean canWrite() | 品判斷文件是否可被寫入 |
boolean exits() | 判斷文件長度是否存在 |
int length() | 獲取文件的長度(以字節為單位) |
String getAbsolutePath() | 獲取文件的絕對路徑 |
String getParent() | 獲取文件的父路徑 |
boolean isFile() | 判斷此抽象路徑名表示的文件是否為普通文件 |
boolean isDirectory() | 判斷此抽象路徑名表示的是否是一個目錄 |
boolean isHidden | 判斷文件是否是隱藏文件 |
long lastModified() | 獲取文件最后修改時間 |
Boolean canExecute() |
測試應用程序是否可以執行此抽象路徑名表示的文件。
|
boolean createNewFile() | 當且僅當具有該名稱的文件尚不存在時,原子地創建一個由該抽象路徑名命名的新的空文件。 |
boolean delete() | 刪除由此抽象路徑名表示的文件或目錄。 |
File[] listFiles() | 返回一個抽象路徑名數組,表示由該抽象路徑名表示的目錄中的文件。 |
String[] list() | 返回一個字符串數組,命名由此抽象路徑名表示的目錄中的文件和目錄。 |
boolean mkdirs() | 創建由此抽象路徑名命名的目錄,包括任何必需但不存在的父目錄。可創建多層文件包 |
boolean mkdir() | 創建由此抽象路徑名命名的目錄。只能創建一層文件包 |
boolean reNameTo(File dest) | 重命名由此抽象路徑名表示的文件。 |
boolean setReadOnly() |
標記由此抽象路徑名命名的文件或目錄,以便只允許讀取操作。
|
boolean setWritable(boolean writable) |
一種方便的方法來設置所有者對此抽象路徑名的寫入權限。
|