连续保存并自动将字符串值增加到文件 - Android

时间:2013-11-08 16:40:27

标签: android string file save auto-increment

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

这是我的代码:

更新:我已将此代码更新为工作版本。代码现在将字符串保存到文件中,然后每次更新文件。感谢@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);

    }
 }

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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

参数append确定文件是否被打开并附加到或只是打开和覆盖。

另外:How to append text to an existing file in Java