0

私はJavaが初めてなので、これは簡単かもしれませんが、修正する方法が見つかりませんでした。

アプリを作成していますが、現在の日付をファイルに書き込めるようにする必要があります。私が問題を抱えている部分は、実際に書き込むファイルの場所を取得することです。

ファイルを読み取り、各行のすべてのテキストを配列リストに入れます。次の使用に問題はありませんでした。

Scanner in = new Scanner(MainActivity.class.getResourceAsStream("notes.dat"));

ただし、ファイルライターを宣言しようとすると、両方を試しました:

FileWriter f = new FileWriter(new File("date.dat"));

FileWriter f = new FileWriter(new File(MainActivity.class.getResourceAsStream("date.dat")));

(スキャナーでは機能しますが、FileWriterではエラーが発生します:コンストラクターFile(InputStream)は未定義です):

また、ファイルを src フォルダーやルート android プロジェクト フォルダーなどのさまざまな場所に配置して正しく指定しようとしましたが、決して見つかりません。

filewriter を使用してファイルを見つけようとしてから書き込みを試みたとしても、ファイルを見つけることはできません。アプリ開発プロジェクト フォルダーにリンクされていない Java ファイルを作成し、date.dat を Java ファイルと同じフォルダーに配置しようとしたところ、問題なく次のものを使用できました。

FileWriter f = new FileWriter(new File("date.dat"));

私の質問は、Android プロジェクトにリンクされていない通常の Java ファイルで使用すると FileWriter が機能するように見えるのに、私のプロジェクトで使用すると機能しなくなり、どうすれば修正できるのですか?

4

1 に答える 1

0

and friendsを使用する.getResource()と、JVM はクラスパスで一致する名前を検索します。つまり、これは jar 内のファイルである可能性があります。

したがって、ファイルから読み書きできるようにするためには、それを使用しないでください。

場所がわかっている外部ディレクトリを作成してみて、このディレクトリで作業してください。

于 2013-05-28T20:57:27.580 に答える