2015年11月23日 星期一

【JAVA】將txt檔中特定字串取代成另一字串

import java.io.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class test{

public static void main(String[] args)throws IOException{
String path = "C:\\123.txt";//文件路徑
FileReader fr= new FileReader(path);
BufferedReader br = new BufferedReader(fr);
StringBuffer sb = new StringBuffer();
FileWriter fw = null;

String line;
String newContent = "";//用來暫存改動後的內容
while((line = br.readLine()) != null)//逐行讀取,該行的內容存進line
{
newContent = newContent+line.replace("abc","egg")+"\n";//已暫存的內容加上line(該行內容)且如果遇到abc就取代成egg,並且換行。註1
}

fw = new FileWriter(path);//建立新檔案,路徑為path
fw.write(newContent);//將暫存內容寫進檔案中
fr.close();
br.close();
fw.close();
}
}


不過利用BufferedReader-readLine()會無視掉換行字元
網路上查了許多用法,各種碰壁中....
慢慢改進Ing

註1:依照作業系統的不同,換行符號的定義也不同
\r\n  Window
\r     Mac
\n    Linux

沒有留言:

張貼留言