本篇文章為大家展示了如何使用Java對(duì)文件的讀寫(xiě)操作,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司是專業(yè)的納溪網(wǎng)站建設(shè)公司,納溪接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行納溪網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
像我們經(jīng)常會(huì)遇到這樣的事情,例如一個(gè)txt文件中有姓名和電話,這個(gè)時(shí)候很經(jīng)常就需要將名字和電話號(hào)碼進(jìn)行提取操作,這個(gè)時(shí)候就可以利用Java中io來(lái)實(shí)現(xiàn)了。
這里我就不具體介紹io中的字節(jié)流和字符流的異同點(diǎn)了,有興趣的同學(xué)可以自己百度百度。
今天主要是介紹一下如何實(shí)現(xiàn)對(duì)文件內(nèi)容的獲取還有就是對(duì)獲取的文件內(nèi)容進(jìn)行修改操作。下面看具體案例介紹。
這個(gè)是案例最終要實(shí)現(xiàn)的效果,在姓名和電話號(hào)碼直接添加分割符號(hào)。
這里有一點(diǎn)需要主要的是,這個(gè)案例并不是直接在原先的txt文檔上面進(jìn)行修改的,而是新建一個(gè)新的txt文件重新寫(xiě)入新的內(nèi)容。
好了廢話不多說(shuō),看看這個(gè)案例具體是怎么具體實(shí)現(xiàn)的。
這個(gè)案例分為三個(gè)模塊:1.文件讀取模塊,2.姓名電話分離模塊,3.文件寫(xiě)入模塊
1.文件讀取模塊:
/** * 功能:Java讀取txt文件的內(nèi)容 * 步驟:1:先獲得文件句柄 * 2:獲得文件句柄當(dāng)做是輸入一個(gè)字節(jié)碼流,需要對(duì)這個(gè)輸入流進(jìn)行讀取 * 3:讀取到輸入流后,需要讀取生成字節(jié)流 * 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("讀取文件內(nèi)容出錯(cuò)"); 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.文件寫(xiě)入模塊:
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(); } }
通過(guò)這三個(gè)模塊就可以實(shí)現(xiàn)對(duì)文件的讀取操作了,然后對(duì)信息進(jìn)行處理,最后將處理好的信息添加到新的文件中去。
這里需要注意的是:項(xiàng)目的編碼格式要寫(xiě)成utf-8,否則會(huì)出現(xiàn)亂碼的情況。
到這里文件的讀寫(xiě)操作就完結(jié)了,是不是特別簡(jiǎn)單方便。
上述內(nèi)容就是如何使用Java對(duì)文件的讀寫(xiě)操作,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。