1

我有将字符串保存到文件的代码。问题是字符串不断变化(因为它们是传感器值),但字符串只保存一次,然后似乎在关闭并打开文件后删除文件,并且只打印一个值的新文件。我需要它将每个值保存到同一个文件中,同时自动递增以避免丢失任何数据。

这是我的代码:

更新:我已将此代码更新为工作版本。代码现在将字符串保存到文件中,然后每次更新文件。感谢@Sergii 的帮助!

   @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.demo_opengl_acc);

    getActionBar().setTitle(R.string.title_demo_accelerometer);
    viewText = (TextView) findViewById(R.id.text);

    renderer = new OpenGLRenderer();
    final GLSurfaceView view = (GLSurfaceView) findViewById(R.id.gl);
    view.setRenderer(renderer);
}

@Override
public void onDataRecieved(TiSensor<?> sensor, String text) {
    if (sensor instanceof TiAccelerometerSensor) {
                try {

            BufferedWriter writer =
            new BufferedWriter(new FileWriter("/sdcard/test.txt",  <>    true));
            writer.write(text);
            writer.close();

        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("test", true)));
            out.println(text);
            out.close();
        } catch (IOException e) {
            //error message here or whatever...
        }

    }

    final TiAccelerometerSensor accSensor = (TiAccelerometerSensor) sensor;
    float[] values = accSensor.getData();
    renderer.setRotation(values);

    viewText.setText(text);

    }
 }

我希望能够打开文件并查看所有值。

谢谢。

4

1 回答 1

0

new FileWriter("/sdcard/acvalues.txt", true)

http://developer.android.com/reference/java/io/FileWriter.html#FileWriter(java.io.File, boolean)

参数 append 确定文件是打开并附加到还是刚刚打开并覆盖。

另外:如何将文本附加到Java中的现有文件

于 2013-11-08T16:48:35.303 回答