1. 程式人生 > >【Java】IO整理之File類使用大全

【Java】IO整理之File類使用大全

      說到做到哈,上篇文章【Java】基於TCP協議多執行緒伺服器-客戶端互動控制檯聊天室簡例寫到的寫IO的,這回就稍微整理下吧,剛回學校不久,整理得少點兒,都整理寢室去了[笑]~

      下面列出常用的Flie類的內容,並且附上例項程式碼:

File類是用來處理資料夾和建立刪除檔案的,不能用來編輯檔案!
File(String pathName):使用/斜槓或者\都行,pathName是絕對路徑
boolean File.canExcute():是否可執行
boolean File.canRead():是否可讀
boolean File.canWrite():是否可寫
int File.compareTo(File pathName):比較兩個檔案,需要過載
boolean File.createNewFile():建立檔案,丟擲IOException普通異常
File File.createTempFile(String prefix, String suffix):建立臨時檔案
boolean File.delete():刪除檔案,如果刪除的是目錄,目錄不為空則不能刪除,刪除資料夾則需遞迴刪除所有子檔案和子資料夾
void File.deleteOnExit():退出的時候刪除檔案
boolean File.exists():是否存在
String File.getName():獲取檔名
String File.getParent():獲取所在父目錄全路徑
File File.getParentFile():獲取父目錄File物件
String File.getPath():獲取包括檔名在內的全路徑
boolean File.isAbsolute():是否是絕對的
boolean File.isDirectory():是否是目錄
boolean File.isFile():是否是檔案
boolean File.isHidden():是否是隱藏的
boolean File.mkdir():建立目錄
boolean File.mkdirs():建立多級目錄
boolean File.renameTo():重新命名檔案,可以作為移動檔案

String[] File.list([選填,FileNameFilter介面的類]):該目錄下所有內容的名(包括檔案/資料夾名)
File[] File.listFiles([選填,FileNameFilter介面類]):該目錄下所有檔案的File物件
Interface FileNameFilter介面:實現accept(File dir, String name)方法,用以過濾檔案,返回true顯示,false不顯示
File[] File.listFiles([選填,FileFilter介面類]):該目錄下所有檔案的File物件
Interface FileFilter介面:實現accept(File pathname)方法,返回true顯示,false不顯示
long File.length():檔案/資料夾大小

      下面是部分重要點兒的例項

// FileNameFilter介面操作栗子,過濾掉檔案字尾不為.txt的檔案
File f = new File("D:\\Java\\IOFileTest");
String[] nameStrings = file.list(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        if(name.endsWith(".txt")) return true;
        return false;
    }
});
for
(int i = 0; i < nameStrings.length; i++){ System.out.println(nameStrings[i]); } // FileFilter介面栗子,過濾掉資料夾 File f = new File("D:\\TestProjectSourceFile\\Java\\JAVA_MyEclipse\\IOFileTest"); File[] nameFiles = f.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { if(pathname.isFile()) return true; return false; } }); for (int i = 0; i < nameFiles.length; i++) { System.out.println(nameFiles[i].getName()+":"+nameFiles[i].getPath()); }

      好啦!內容結束,我們關於File類的一些常用內容就這麼愉快的完成了,下一步將會寫有關於IO流的一些最簡便最容易入手的相關使用方法,敬請期待!