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) |
一種方便的方法來設定所有者對此抽象路徑名的寫入許可權。
|