在java程序設計中,I/O操作是通過java.io包中的類和接口來實現的,因此,我們第一步要做的就是import這個包。
java.io提供了一個File類,這是類很容易讓人產生誤會,它表示的是一個文件名或者目錄名,而不是文件本身,所以通過這個類沒法對文件里面的數據進行操作。File類提供了一序列對文件操作的功能:刪除文件,創建目錄,查詢文件大小等等。要想對文件數據進行操作那就需要流對象了,在這里就暫時不做介紹。
下面通過一個叫做FileExtension類來對File類中的各種操作進行封裝,通過這個例子希望大家很好的使用File類,在這里我只提供DeleteFile的實現。該例子引用自《java實例技術手冊》這本書。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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的實現如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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等等一些功能,這將對你有所幫助。