2012-11-02 48 views
0

我有3個不同的類,其中1個用於監控加速度計數據,1個用於跟蹤GPS,另一個用於寫入文件。將不同類別的數據連續寫入文本文件

我使用這個代碼寫在加速和GPS類文件:

GPS

file.write(Latitude + "," + Longitude);

加速

file.write(sensorEvent.values[0] + ", " + sensorEvent.values[1] + ", " + sensorEvent.values[2]);

哪去寫方法在文件類中;

public void write(String message) { 
    try { 
     if (out == null) { 
      FileWriter datawriter = new FileWriter(file); 
      out = new BufferedWriter(datawriter); 
     } 
     if (file.exists()) { 
      out.append(message); 
      out.flush(); 

     } 
    } catch (IOException e) { 
     Log.e("Error", "fail to write file"); 
    } 
} 

我遇到的問題是,它只寫了一行加速度值,沒有GPS。

如何編寫包含accel和GPS值的行,並將這些值寫入同一文件。

回答

4

新FileWiriter(文件)創建一個新的空文件,所以你只有最後一行寫入,所有以前的行被刪除。你應該在第二個參數附加= TRUE添加到FileWriter的構造

FileWriter datawriter = new FileWriter(file,true); 
2

你可以兩個類的輸出Concat的到一個字符串,並將其傳遞到您寫功能:

myString = yourGpsClassExecute 
myString += yourAccelExecute 
write(myString) 
+1

作爲Chuidiang張貼我寫了這個,這將創建只有一個一行,與兩個值。對於一個正在運行的日誌,你也可以實現Chuidiang的迴應 – RelicScoth

+0

我已經創建了MyString,但是當我在第二節中嘗試它時,「+ =」給出的語法錯誤只應該是「=」。 – ELSheepO

+0

嘗試myString = myString +(或'myString。'或任何字符表示串聯爲您)yourAccelExecute – RelicScoth