close
標題:

 

此文章來自奇摩知識+如有不便請留言告知

使用java修改txt檔中某一部份資料?

發問:

假設我現在有一txt檔資料如下 123 456 789 有什麼方法可以只把456這行修改掉呢?假設修改成444好了 我只想到判斷讀到456的時候 把他改成寫入444.. 不過這個方法變成是整個文件重新複製了一次~ 有辦法只對這行作修改的動作嗎? 更新: 我有試了這個方法了~ 確實有辦法指向到某一行做修改 可是他的write 好像都沒有能寫入字串的方法==.=="

最佳解答:

//請參考: import java.io.*; class test{ public static void main(String args[]){ String str=null ; try{ FileInputStream fi=new FileInputStream("hello.txt"); byte by[]=new byte[fi.available()]; fi.read(by); str=new String(by); fi.close(); }catch(IOException e){} System.out.println("原始內容 : "+str); String newstr=str.replace("456", "444") ; System.out.print("新內容 : "+ newstr); try{ FileWriter fw=new FileWriter("hello_1.txt"); fw.write(newstr); // 將字串寫到檔案裡 fw.close(); }catch(IOException e){} } } //別忘了記事簿的名稱喲 hello.txt 2010-01-03 20:29:13 補充: JAVA的寫入方式不外乎1...將原先的舊檔覆蓋掉...2..接在檔案的後面繼續寫入.

其他解答:

可以的,請使用 java.io.RandomAccessFile 原則上是利用 readXXX 或是 seek 讓檔案指標 跑到 456 所在的位置,然後作 write 即可 以您的例子來說,就是先 readLine 把 123 那一行讀掉,然後再 write 即可。73E3DC9315AE223D
arrow
arrow

    aptzmcv 發表在 痞客邦 留言(0) 人氣()