0

该应用程序不断记录传感器数据并将其写入位于手机 SD 卡中的 .txt 文件中。写入数据时一切正常。

我有一个停止按钮。按下按钮后,录制将结束,最后一行将附加到文件的最后。

但我总是无法附加最后一行。

我调试了很长时间。该代码确实运行了首先附加最后一行然后关闭所有编写器的命令。

请帮忙!

        // stop button
        stopButton = (Button) findViewById(R.id.button6);
        stopButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                // intend to append the final line
                myPrintWriter.flush();
                myPrintWriter.write("This is the final line");

                try {
                    myOutWriter.flush();
                    myOutWriter.close();
                  } catch (IOException e) {
                    e.printStackTrace();
                  } catch (NullPointerException e) {
                    e.printStackTrace();
                 }
             try {
                    fOut.flush();
                    fOut.close();
                 } catch (IOException e) {
                   e.printStackTrace();
                 } catch (NullPointerException e) {
                   e.printStackTrace();
                 }
            }
        });
4

2 回答 2

0

添加以下内容而不是您的内容,

 myPrintWriter.append("This is the final line");
 myPrintWriter.close();
于 2013-06-19T04:42:07.343 回答
0

整个代码可以简化为下面(使用适当的尝试捕获)。其余的都是不必要的。

// intend to append the final line
myPrintWriter.write("This is the final line");
myPrintWriter.flush();
myPrintWriter.close();

在 printwriter 上调用 close 会关闭底层的 writer。

于 2013-06-19T03:10:47.933 回答