在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){} //這個函數的功能是刪除一個指定的存在的檔案(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等等一些功能,這將對你有所幫助。