2016-03-05 170 views
0

我有一條nmea消息。我想寫出一個只有$GPGSV行的其他文件。這裏是我的代碼,它現在爲每行寫入布爾值(true,false)。我怎樣才能寫出行的值?將指定的行寫入新文件

public static void main(String[] args) throws IOException { 
     File inputFile = new File("proba.txt"); 
     File tempFile = new File("kiir.txt"); 

     BufferedReader reader = new BufferedReader(new FileReader(inputFile)); 
     BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); 

    String currentLine; 

    while((currentLine = reader.readLine()) != null) { 
      // trim newline when comparing with lineToRemove 
      String trimmedLine = currentLine.trim(); 

    writer.write(currentLine.startsWith("$GPGSV") + System.getProperty("line.separator")); 
    } 
    writer.close(); 
    reader.close(); 
+1

在寫入時使用'if'(或者請求原作者爲您添加一個) – 2016-03-05 08:05:09

+0

一些閱讀:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html – 2016-03-05 08:06:45

+0

一些示例輸入和輸出行,以便每個人都可以瞭解你在代碼中缺少的內容? – Mahendra

回答

1

startsWith()返回一個布爾值,讓你用它的方式,它只會打印truefalse到文件。試試這個

if(trimmedLine.startsWith("$GPGSV"){ 
    writer.write(trimmedLine + System.getProperty("line.separator")); 
} 

編輯:代替currentLine使用trimmedLine。我認爲這是你想要使用的。