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

コード全体は以下のように簡略化できます (適切な try キャッチを使用)。残りは不要です。

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

printwriter で close を呼び出すと、基になるライターが閉じます。

于 2013-06-19T03:10:47.933 に答える