Java文 件對象操作
在 我 們 進 行 文 件 操 作 時, 需 要 知 道 一些關 於 文 件 的信 息。File類 提供了 一些 成 員 函 數 來 操 縱 文 件 和 獲得 一些文 件 的 信 息。
1、創 建 一 個 新 的 文 件 對 象
你 可 用 下 面 三 個 方 法 來 創 建 一 個 新 文 件 對 象:
File myFile; myFile = new File("etc/motd");
或
myFile = new File("/etc","motd"); //more useful if the directory or filename are variables
或
File myDir = new file("/etc"); myFile = new File(myDir,"motd");
這 三 種 方 法 取 決 於 你 訪 問 文 件 的 方 式。 例 如, 如 果 你 在應 用 程 序 裡 只 用 一 個 文 件, 第 一 種 創 建 文 件 的 結 構 是 最容 易 的。 但 如 果 你 在 同 一 目 錄 裡 打 開 數 個 文 件, 則 第 二 種或 第 三 種 結 構 更 好 一些。
2、 文 件 測 試 和 使 用
一 旦 你 創 建 了 一 個 文 件 對 象, 你 便 可 以 使 用 以 下 成員 函 數 來 獲 得 文 件 相 關 信 息:
文件名 : String getName()
路徑: String getPath()
String getAbslutePath()
String getParent()
boolean renameTo(File newName)
文 件 測 試 : boolean exists() 、 boolean canWrite() 、 boolean canRead() 、 boolean isFile() 、 boolean isDirectory() 、 boolean isAbsolute()
一 般 文 件 信 息 l long lastModifIEd() l long length()
目 錄 用 法 l boolean mkdir() l String[] list()
3、 文 件 信 息 獲 取 例 子 程 序
這 裡 是 一 個 獨 立 的 顯 示 文 件 的 基 本 信 息 的 程 序, 文 件通 過 命 令 行 參 數 傳 輸:
import Java.io.*; class fileInfo{
File fileToCheck;
public static void main(String args[]) throws IOException{
if (args.length>0){
for (int i=0;i
fileToCheck = new File(args[i]);
info(fileToCheck);
}
}
else
{
System.out.println("No file given.");
}
}
public void info (File f) throws IOException {
System.out.println("Name: "+f.getName());
System.out.println("Path: "=f.getPath());
if (f.exists()) {
System.out.println("File exists.");
System.out.print((f.canRead() ?" and is Readable":"")); System.out.print((f.cnaWrite()?" and is Writeable":"")); System.out.println("."); System.out.println("File is " + f.lenght() = " bytes."); } else { System.out.println("File does not exist."); } } }