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

Java操作文本封裝類

2013-11-23 19:29:14  來源: Java核心技術 

  import javaioBufferedReader;

  import javaioBufferedWriter;

  import javaioFile;

  import javaioFileReader;

  import javaioFileWriter;

  import javaioIOException;

  import javautilArrayList;

  import javautilList;

  /**

  * 用於對記事本的操作

  *

  * @author 沙琪瑪

  *

  */

  public class NoteOperate {

  // txt文件路徑

  private String filePath;

  /**

  * 構造函數

  *

  * @param filePath

  *            文本文件全路徑

  */

  public NoteOperate(String filePath) {

  thisfilePath = filePath;

  }

  /**

  * 構造函數

  *

  * @param file

  *            需要讀取的文本文件

  */

  public NoteOperate(File file) {

  thisfilePath = filegetPath();

  }

  /**

  * 判斷文本文件是否存在

  *

  * @return 存在返回true 否則返回false

  */

  public boolean exists() {

  File file = new File(thisfilePath);

  return fileexists();

  }

  /**

  * 得到這個txt所有的列的數據 空行將自動跳過並自動刪除文字前後的空格

  *

  * @return List<String>

  * @throws IOException

  */

  public List<String> fileLinesContent() throws IOException {

  List<String> strs = new ArrayList<String>();

  File file = new File(thisfilePath);

  FileReader fr = new FileReader(file);// 建立FileReader對象並實例化為fr

  BufferedReader br = new BufferedReader(fr);// 建立BufferedReader對象並實例化為br

  String Line = brreadLine();// 從文件讀取一行字符串

  // 判斷讀取到的字符串是否不為空

  while (Line != null) {

  if (!equals(Line))

  strsadd(Linetrim());

  Line = brreadLine();// 從文件中繼續讀取一行數據

  }

  brclose();// 關閉BufferedReader對象

  frclose();// 關閉文件

  return strs;

  }

  /**

  * 創建一個空的記事本文檔 如果這個記事本文檔存在就不再創建 函數還未寫實現部分<br/> 如果文本已經存在則不再創建

  *

  * @throws IOException

  */

  public void createEmptyNote() throws IOException {

  File file = new File(thisfilePath);

  if (!fileexists())

  filecreateNewFile();

  }

  /**

  * 將內容寫入這個文本 注意以前的內容將會被刪除

  *

  * @param str

  *            將要寫入的內容

  * @throws IOException

  */

  public void writeString(String str) throws IOException {

  File file = new File(thisfilePath);

  BufferedWriter output = new BufferedWriter(new FileWriter(file));

  outputwrite(str);

  outputclose();// 關閉BufferedReader對象

  }

  /**

  * 在文本的指定行插入文字如果該行已經存在該行內容將會被刪除如果行號不存在將會被插入到最後一行

  *

  * @param i

  *            行號 行號為將插入到最後一行

  * @param str

  *            將要插入的內容

  * @throws IOException

  */

  public void insertWords(int i String str) throws IOException {

  List<String> strs = fileLinesContent();

  // 進行插入操作

  if (i == || strssize() < i) // 插入到最後一行

  {

  strsadd(str);

  } else { // 插入到文本中

  strsset(i str);

  }

  // 重新寫入到文本

  StringBuffer sb = new StringBuffer();

  for (String temp : strs) {

  sbappend(tempreplace(\r\n )+\r\n);

  }

  writeString(sbtoString());

  }

  }


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