2013-09-24 5 views
1

Я текстовый файл, который содержит текст:Разбор

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 

и так далее до конца текстового файла ..

Кодирование попытки до сих пор:

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

импорт java.io.BufferedReader; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.InputStreamReader; try { FileInputStream fstream = new FileInputStream ("путь к файлу \ data.txt"); DataInputStream in = new DataInputStream (fstream); BufferedReader br = new BufferedReader (новый InputStreamReader (in)); BufferedWriter brw = new BufferedWriter (новый OutputStreamWriter (out)); сделать { для (INT I = 1; I <50; я ++) {// Я не знаю, что делать здесь } ....... –

+1

Update это в вашем вопросе – 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» .. Я попробую это и вернусь позже, надеюсь еще раз поблагодарить вас :) cheers –

+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 ','