0

3 つの異なるクラスがあります。1 つは加速度計データを監視し、1 つは GPS を追跡し、もう 1 つはファイルに書き込みます。

このコードを使用して、accel および 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");
    }
}

私が抱えている問題は、加速度値を含む 1 行だけを書き込み、GPS がないことです。

加速度値と GPS 値の両方を含む行を書き、それらの値を同じファイルに書き続けるにはどうすればよいですか。

4

2 に答える 2

4

new FileWiriter(file) は新しい空のファイルを作成するため、最後の行のみが書き込まれ、前の行はすべて削除されます。2 番目のパラメーター append=true を FileWriter コンストラクターに追加する必要があります。

FileWriter datawriter = new FileWriter(file,true);
于 2012-11-02T12:43:48.080 に答える