我有3个不同的类,1个用于监控加速度计数据,1个用于跟踪GPS,1个用于写入文件。
我正在使用此代码写入accel和GPS类中的文件:
GPS
file.write(Latitude + "," + Longitude);
加速
file.write(sensorEvent.values[0] + ", " + sensorEvent.values[1] + ", " + sensorEvent.values[2]);
这是文件类中的write方法;
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。
如何编写包含加速度和GPS值的行,并将这些值写入同一文件。
答案 0 :(得分:4)
new FileWiriter(file)创建一个新的空文件,因此您只能写入最后一行,删除所有以前的行。您应该将第二个参数append = true添加到FileWriter构造函数
FileWriter datawriter = new FileWriter(file,true);
答案 1 :(得分:2)
您可以将两个类的输出连接到一个字符串并将其传递给您的写函数:
myString = yourGpsClassExecute
myString += yourAccelExecute
write(myString)