2014-03-25 25 views
0

嗨,對不起。查找字符串並在java文本文件中追加文本

這是一個文本文件

[TESTRESULT] 
testdate=5/16/2013 
testtime=20:03:00 
operator=Jacob Poulsen 
test_no=62495 
axles_tested=2 
[AXLE1RESULT] 
fric_l=38 
fric_r=51 
p0_l=0 
p0_r=0 
fl=280 
fr=300 

所以我覺得問題的 首先找到字符串例如:
第二附加文本[AXLE1RESULT]
喜歡這個

[TESTRESULT] 
testdate=5/16/2013 
testtime=20:03:00 
operator=Jacob Poulsen 
test_no=62495 
axles_tested=2 
[SomeText] 
Something=0 
Something=0 
Something=0 
[AXLE1RESULT] 
fric_l=38 
fric_r=51 
p0_l=0 
p0_r=0 
fl=280 
fr=300 

之前,我應該怎麼做???

+0

我不能完全告訴你的要求;但這些文件被格式化爲Windows INI文件。也許http://stackoverflow.com/questions/190629/what-is-the-easiest-way-to-parse-an-ini-file-in-java將有所幫助(ini4j可以讀取,解析和編寫它們,並且會讓你輕鬆修改值)。 –

回答

0

這應該解決您的問題:

BufferedReader br= new BufferedReader(new FileReader("yourfilename.txt")); 
String dataRow=null; 
string tempText=""; 
while ((dataRow= br.readLine()) dataRow != null){ 
    if(dataRow.equalsIgnoreCase("[AXLE1RESULT]"){ 
     tempText+="[SomeText]"; 
     tempText+=System.getProperty("line.separator"); 
     tempText+="Something=0"; 
     tempText+=System.getProperty("line.separator"); 
     tempText+="Something=0"; 
     tempText+=System.getProperty("line.separator"); 
     tempText+="Something=0"; 
     tempText+=System.getProperty("line.separator"); 
    } 
    tempText+=dataRow; 
    tempText+=System.getProperty("line.separator"); 
} 

FileWriter writer = new FileWriter("yourfilename.txt"); 
writer.append(tempText);  
writer.flush(); 
writer.close(); 
+0

請使用stringbuilder或stringbuffer如果你正在做字符串連接 – kerberos84

0

更好地從一個文件中讀取它並將其寫入另一個文件。如果你想附加一些文本檢查發生並追加它。完成處理後,請刪除原始文件。

+0

我不能寫另一個文件,因爲另一個程序使用這個文件 – BilguunKH

相關問題