像我們經常會遇到這樣的事情,例如一個txt檔案中有姓名和電話,這個時候很經常就需要將名字和電話號碼進行提取操作,這個時候就可以利用Java中io來實現了。
這裡我就不具體介紹io中的位元組流和字元流的異同點了,有興趣的同學可以自己百度百度。
今天主要是介紹如何實現對文件內容的獲取還有就是對獲取的文件內容進行修改操作。下面看具體案例介紹。
這個是案例最終要實現的效果,在姓名和電話號碼直接加入分割符號。
這裡有一點需要主要的是,這個案例並不是直接在原先的txt文檔上面進行修改的,而是新建一個新的txt檔案重新寫入新的內容。
好了廢話不多說,看看這個案例具體是怎麼具體實現的。
這個案例分為三個模組:1.檔案讀取模組,2.姓名電話分離模組,3.檔案寫入模組
1.檔案讀取模組:
/** * 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline()。 * 备注:需要考虑的是异常情况 * @param filePath */ public static String readTxtFile(String filePath) { StringBuilder content = new StringBuilder(""); try { String encoding = "UTF-8"; File file = new File(filePath); if (file.isFile() && file.exists()) { InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding); BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) { String[] result = getNamePhone(lineTxt); System.out.println(lineTxt); content.append(result[0] + "----" + result[1]); content.append("\r\n");// txt换行 } read.close(); } else { System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("读取文件内容出错"); e.printStackTrace(); } return content.toString(); }
2.姓名電話分離模組:
public static String[] getNamePhone(String str) { String[] result = new String[2]; int index = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) >= '0' && str.charAt(i) <= '9') { index = i; break; } } result[0] = str.substring(0, index); result[1] = str.substring(index); return result; }
3.檔案寫入模組:
public static void printFile(String content) { BufferedWriter bw = null; try { File file = new File("D:/filename.txt"); if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); bw = new BufferedWriter(fw); bw.write(content); bw.close(); } catch (IOException e) { e.printStackTrace(); } }
#透過這三個模組就可以實現對檔案的讀取操作了,然後對資訊進行處理,最後將處理好的資訊加入新的檔案中去。
這裡要注意的是:專案的編碼格式要寫成utf-8,否則會出現亂碼的狀況。
到這裡檔案的讀寫操作就完結了,是不是特別簡單方便。
感謝大家的閱讀,希望大家收益多多。
本文轉自: https://blog.csdn.net/linzhiqiang0316/article/details/71744340
##推薦教學:《java教學》
以上是Java對檔案的讀寫操作(圖文詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!