您現在的位置是:首頁 > 舞蹈首頁舞蹈
java io流File類詳解
獨腳靈治癌症怎樣吃
概術
java。io。File類是檔案和目錄路徑名的抽象表示形式,主要用於檔案和目錄的建立,查詢,刪除,判斷等操作。
總體概述
構造方法
public File(File parent, String child):根據 parent 抽象路徑名和 child 路徑名字串建立一個新 File 例項。
public File(String pathname):透過將給定路徑名字字串轉換為抽象路徑名來建立一個新File例項。
public File(String parent, String child):根據parent路徑字串和child路徑名字串建立一個新File例項。
判斷類方法
1、boolean exists():判斷給定檔案是否存在,存在返回true,否則返回false
2、boolean isFile():判斷是否檔案
3、boolean isAbsolute():判斷是否絕對路徑
4、boolean isDirectory():判斷是否目錄
5、boolean isHidden():判斷是否隱藏檔案
6、boolean canExecute():判斷檔案是否可執行
7、boolean canRead():判斷檔案是否可讀
8、boolean canWrite():判斷檔案是否可寫
建立刪除類方法
1、boolean delete():刪除檔案,並返回刪除結果
2、void deleteOnExit():檔案存在時才刪除
3、boolean createNewFile():建立新檔案
4、boolean mkdir():建立件夾,如果父資料夾不存在則不建立
5、boolean mkdirs():一次性建立多級資料夾
獲取屬性類方法
1、String getName():獲取檔名,不包含路徑
2、String getPath():獲取檔案的相對路徑
3、String getAbsolutePath():獲取檔案的絕對路徑
4、String getParent():獲取檔案的上級目錄,返回一個String物件
5、File getParentFile():獲取檔案的上級目錄,返回一個File物件
6、String getAbsoluteFile():獲取檔案的絕對路徑,類似getAbsolutePath()
7、File getCanonicalFile:獲取檔案的抽象路徑名,相當於絕對路徑
8、long getTotalSpace():獲取檔案的總空間,若檔案在系統D盤下,則獲取了D盤總空間
9、long getFreeSpace():獲取檔案的可用空間,若檔案在系統D盤下,則獲取了D盤的可用空間
10、long getUsableSpace():獲取檔案的可用空間,同getFreeSpace()
11、long length():獲取檔案的大小
12、long lastModified():獲取檔案最後一次修改時間的時間戳
遍歷子目錄類方法
1、String[] list():獲得當前目錄檔案下所有檔名
2、String[] list(FilenameFilter filter):獲得當前目錄檔案下所有檔名,透過FilenameFilter過濾
3、File[] listFiles():獲得當前目錄檔案下所有檔案
4、File[] listFiles(FileFilter filter):獲得當前目錄檔案下所有檔案,透過FileFilter過濾
5、File[] listFiles(FilenameFilter filter):獲得當前目錄檔案下所有檔案,透過FilenameFilter過濾
例子1 讀取檔案的一些基本資訊
public class FileTest {
public static void main(String []args) {
String fileName=”C:\\temp\\myfile。dat”
File myFile=new File(fileName);
If( ! myFile。 exists() ) { // 檔案不存在,則列印不存在訊息
System。err。println(fileName+ “檔案不存在, 程式退出 ”);
return;
}
System。out。println(fileName + “的文字長度為:” + myFile。length() + “位元組!”);
If ( myFile。 isDirectory() ) { // 檔案是一個目錄
System。err。println( fileName+”是一個檔案目錄 !”);
return;
}
}
}
例子2 演示File類中各種方法的使用
import java。io。*;
public class FileTest { //在執行該檔案之前應該先複製一個檔名為File。txt的檔案到當前程式所在的路徑下
public static void main(String args[]) {
System。out。println(“Path separator” +File。pathSeparator); // “;”各個檔案路徑之間的分隔符
System。out。println(“Path separator char” +File。pathSeparatorChar);
System。out。println(“separator ” +File。separator); // “\”檔案與路徑之間的分隔符
System。out。println(“separator char” +File。separatorChar);
File f =new File(“File。txt”);
System。out。println(f);
System。out。println(“檔案是否存在:” + f。exists());
System。out。println(“檔名是:” + f。getName());
System。out。println(“檔案的路徑是:” + f。getPath());
System。out。println(“檔案是絕對路徑是: ” + f。getAbsolutePath());
System。out。println(“檔案是父級是:” + f。getParent());
System。out。println(“是否是檔案: ” + f。isFile());
System。out。println(“是否是目錄: ” + f。isDirectory());
System。out。println(“檔案是:” + f。length());
System。out。println(“檔案是否可讀:” + f。canRead());
System。out。println(“檔案是否可寫: ” + f。canWrite());
System。out。println(“檔案最後修改時間:” + f。lastModified());
} }
例子3 透過File類來實現列出一個目錄下所有的*。java檔案
import java。io。*;
public class FileFilterTest {
public static void main(String args[]) {
File dir =new File(“E:/jdk1。8/bin”);
Filter filter =new Filter(“java”);
String files[]=dir。list(filter); //獲得該目錄下的各個檔名
for(int i=0; i< files。length; i++) { //列出目錄下所有匹配檔案並存儲到String 陣列中。
File f=new File(files[i]);
if(f。isFile()) {
System。out。println(“file ” +f);
}
else {
System。out。println(“sub directory ” + f);
}
}
class Filter implements FilenameFilter {
String extent;
Filter(String extent) {
this。extent=extent;
}
public boolean accept(File dir, String name) {
return name。endsWith(“。” + extent);
}
}
例子4 建立檔案刪除檔案
public class FileTest{
public static void main(String[] args) throws IOException{
File file = new File(“/workpace/text。txt”); //建立檔案:
System。out。println(file。createNewFile()); //注意:檔案所在路徑(在這裡的路徑指:/workpace)必須存在 才能建立檔案(test。txt)
File file1 = new File(“/workpace/dir_test”); //建立資料夾:
System。out。println(file1。mkdir());//如果沒有父路徑,不會報錯,但不會建立資料夾
// file1。mkdirs();//如果父路徑不存在,會自動先建立路徑所需的資料夾
File file2 = new File(“/workpace/text。txt”);
if (file2。exists()) {
System。out。println(file2。delete()); //如果檔案存在,刪除檔案,
}
}
}