Java I/O系統被設計為功能強大並便於擴展,但是當將一個簡單的文件加載到一個字符串時它有時候顯得太強大了。假如你已經厭倦了文件處理代碼並想提高開發速度,使用簡單的文件加載和文件保存程序。
首先創建一個靜態(static)的方法,給出一個字符串的文件名,將把文件的內容加載到一個字符串或者返回一個null表明什麼也得不到。可以讀入的文件的大小最多為MAXINT,因為它被加載到一個數組中。大文件的內容不能被加載到內容中。代碼如下:
/**
* 加載給定文件名的內容,假如文件不可加載返回null。
*/
static public String loadFile(String filename) {
File file = new File( filename );
try {
Reader rdr = new FileReader(
file );
long sz = file.length();
// can only read in things of MAXINT length
char[] ch = newchar[(int)sz];
rdr.read(ch);
rdr.close();
return new String(ch);
} catch(IOException ioe) {
return null;
}
}
因為這段代碼是設計作為類庫代碼的,因此當有IOException拋出時靜態方法沒有打印堆棧跟蹤(stack trace)或者輸出到日志,它也沒有拋出一個異常,目的也是更快的開發速度。這是一種折衷。
第二個程序是用於保存的上面的那個方法的變種,獲取一個字符串的文件名和要寫入的字符串並將那個字符串作為文件保存。假如文件已經存在則覆蓋原來的內容。假如文件路徑上的目錄不存在則創建那些目錄,最後返回true和false來表明操作是否成功。