熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

快速開發時可以使用的Java文件工具方法

2013-11-23 18:47:27  來源: Java核心技術 

  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 = filelength();
   // can only read in things of MAXINT length
  char[] ch = newchar[(int)sz];
  rdrread(ch);
  rdrclose();
  return new String(ch);
  } catch(IOException ioe) {
  return null;
  }
  }
  
  因為這段代碼是設計作為類庫代碼的因此當有IOException拋出時靜態方法沒有打印堆棧跟蹤(stack trace)或者輸出到日志它也沒有拋出一個異常目的也是更快的開發速度這是一種折衷
  
  第二個程序是用於保存的上面的那個方法的變種獲取一個字符串的文件名和要寫入的字符串並將那個字符串作為文件保存如果文件已經存在則覆蓋原來的內容如果文件路徑上的目錄不存在則創建那些目錄最後返回true和false來表明操作是否成功
  同樣字符串中的數據的內容是有限制的並且缺少好的錯誤報告拋出一個運行時異常或者使用內部的日志工具是好的解決方法代碼如下
  
  /**
  * 將字符串的內容作為文件存入給定的文件中
  *
  * @return完成操作時返回true
  */
  static public boolean saveFile(String filename String contents) {
  try {
  File file = new File( filename
  );
  if(filegetParent() != null) {
  newFile(filegetParent())mkdirs();
  }
  Writer wtr = new FileWriter(file );
  char[] ch =contentstoCharArray();
  wtrwrite(ch);
  wtrclose();
  return true;
  } catch(IOException ioe) {
  return false;
  }
  }
  
  提高創建這些方法代碼的質量下降了因為它不能再處理底層的東西然而開發的分離和速度都提高了
  
  增加一個FileException是提高質量的一個方法但是犧牲了開發的速度當代碼只需要良好而不是完美時擁有這樣的類庫類是很不錯的
  

From:http://tw.wingwit.com/Article/program/Java/hx/201311/25740.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.