0

現在、アプリ内の複数のアクティビティ クラスから 1 つのファイルにメッセージを保存しています。各アクティビティ クラスには同じ関数 WriteToFile があります。

public void WriteToFile(String info) {

    FileOutputStream FoutS = null;
    OutputStreamWriter outSW = null;

    try {

        FoutS = openFileOutput("file.txt", MODE_PRIVATE);
        outSW = new OutputStreamWriter(FoutS);
        outSW.write(info);
        outSW.flush();
    }

    catch (Exception e) {
    }

    finally {
        try {
            outSW.close();
            FoutS.close();
        } catch (IOException e) {
        }
    }
}

この関数をファイルに書き込み (および読み取り) 保持する別のクラスを作成しようとしましたが、エラーなしではできませんでした。

関数には、次のように WriteToFile void にコンテキストを渡す必要があると思います...

    //Changes to this line
 public void WriteToFile(String info, Context context) {

    FileOutputStream FoutS = null;
    OutputStreamWriter outSW = null;

    try {
                      //Changes to this line
        FoutS = context.openFileOutput("file.txt", MODE_PRIVATE);
        outSW = new OutputStreamWriter(FoutS);
        outSW.write(info);
        outSW.flush();
    }

    catch (Exception e) {
    }

    finally {
        try {
            outSW.close();
            FoutS.close();
        } catch (IOException e) {
        }
    }
}

それが正しい場合、コンテキストを正しく渡していますか?

String msg = "This is a message";

WriteToFile(msg, this);

それはうまくいかないので、私は何か間違ったことをしています。

4

1 に答える 1

0

メソッドを呼び出すには、コンテキストを使用する必要があります

 context.openFileOutput("file.txt", context.MODE_PRIVATE);

あなたが書いたものには意味がないか、あなたが言っていることとはかけ離れています。

于 2012-02-27T21:12:31.290 に答える