在java中,I/O是通過java.io包中的類和介面來實現,所以理所當然的,我們第一步要做的就是import這個包了。
java.io提供了一個File類,這是類很容易讓人產生誤會,它表示的是一個檔案名稱或者目錄名,而不是檔案本身,所以通過這個類沒法對檔案裡面的資料進行操作。File類提供了一序列對檔案操作的功能:刪除檔案,建立目錄,查詢檔案大小等等。要想對檔案資料進行操作那就需要流對象了,在這裡就暫時不做介紹,在我後面的文章中將會對它進行詳細介紹。
下面我將會通過一個叫做FileExtension類來對File類中的各種操作進行封裝,通過這個例子希望大家很好的使用File類,在這裡我只提供DeleteFile的實現。該例子引用之《java執行個體技術手冊》這本書。
public class FileExtension {
/**
* delete a specify file
* @param filename : specify a file
*/
public static void DeleteFile(String filename){} //這個函數的功能是刪除一個指定的存在的檔案
protected static void fail(String msg) throws IllegalArgumentException{
throw new IllegalArgumentException(msg);
}
}
DeleteFile的實現如下:
public static void DeleteFile(String filename){
File file = new File(filename);
if(!file.exists())
fail("Delete: no such file or directory:" + filename);
if(!file.canWrite())
fail("Delete: write protected: " + filename);
if(file.isDirectory()){
String[] files = file.list();
if(files.length > 0)
fail("Delete: directory not empty: " + filename);
}
boolean success = file.delete();
if(!success)
fail("Delete: deletion failed");
}
如果你詳細的看了上面的例子的話,那麼你就會發現java對File的封裝使我們使用起來非常簡便,如果有興趣的話你可以增加一些函數,比如CreateDir,ListDir,FileSize等等一些功能,這將對你有所協助。