標題:
- Leadtek WinFast GT 440 設定問題
- 基隆餵鴿子的紅高梁哪裡有賣-
- levis 501-0090
- 委任狀和委任書一樣嗎-
- levis 牛仔褲_3
- 急請幫我英文翻中文
- 分數和小數的問題~~~~~急急急
- 可幫忙試算綜合所得稅嗎-
- 山汰科技-業務員
- 乾臉肌要怎麼保濕才不會脫皮-
此文章來自奇摩知識+如有不便請留言告知
使用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
留言列表