2013-09-24 47 views
1

,因爲我已經包含文本的文本文件:解析txt文件數據

VOLT=367 
CURRENT=0.07 
TEMP=031 
RPM=3780 
63HZ 
VOLT=288 
CURRENT=0.00 
TEMP=030 
RPM=3420 
57HZ 

等等.... 我想利用這個文本文件作爲Java輸入和創建一個輸出的文本文件具有這種文字排列爲:

367,0.07,031,3780,63 
288,0.00,030,3420,57 

依此類推,直到txt文件的末尾..

編碼嘗試至今:

import java.io.BufferedReader; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 

try { 
    FileInputStream fstream = new FileInputStream("file path\data.txt"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
    BufferedWriter brw = new BufferedWriter(new OutputStreamWriter(out)); 
    do { 
     for (int i=1;i<50;i++) { 
      //I dont know what to do here 
      ... 
+0

我是新來java..so我只知道如何逐行閱讀這個文本文件使用bufferedreader..but但我不知道如何輸出dat到文本文件::我使用... –

+0

import java.io.BufferedReader; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.InputStreamReader; 嘗試FileInputStream fstream = new FileInputStream(「file path \ data.txt」); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); BufferedWriter brw = new BufferedWriter(new OutputStreamWriter(out)); 做{ 的for(int i = 1; I <50;我++){// 我不知道這裏做什麼 } ....... –

+1

更新這在你的問題 – newuser

回答

1

試試這個,

String input = ""; 
br = new BufferedReader(new FileReader(inputFile)); 
out = new PrintWriter(outputFile); 
StringBuilder result = new StringBuilder(); 
while ((input = br.readLine()) != null) 
{ 
    if(input.contains("HZ")) 
    { 
     result.append(input.replace("HZ", "")); 
     result.append("\n"); 
    } 
    else 
    { 
     result.append(input.substring(input.indexOf("=") + 1, input.length())); 
     result.append(","); 
    } 
} 
System.out.println("result : "+result.toString()); 
+0

羽絨服選民可以提到的原因 – newuser

+0

謝謝「newuser」..我會試試這個,並在以後復出,希望再次感謝你:)乾杯 –

+0

+1平衡.. –

0

使用這個簡單的代碼。

String res=""; 
while ((input = br.readLine()) != null) 
{ 
    if(input.indexOf("=")!= -1){ 
    res+=input.split("=+")[1]+","; 
    } 
    else{ 
    res+="\n"; 
    } 
} 
System.out.println("result : "+res.substring(0,res.length()-1));//To omit last ','