私は Android プラットフォームをいじり、データを保存するさまざまな方法をいじっています。現在、Context
メソッドopenFileInput()
とopenFileOutput()
.
これら 2 つのメソッドのドキュメントで説明されているように、default というファイルを作成しました。ここにいくつかのコード例があります (これらの例は私が行ったことのレプリカです。ファイル名と変数の名前が異なることは承知しています):
openFileOutput()...
Context cont = /* defined somewhere */;
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = cont.openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.flush();
fos.close();
openFileInput()...
FileInputStream fis = cont.openFileInput("hello_file");
byte[] buffer = new byte[(int) fis.getChannel().size()];
fis.read(buffer);
String str= "";
for(byte b:buffer) str+=(char)b;
fis.close();
これらのコード スニペットでは、「hello world」をファイル「hello_file」に書き込む必要があり、str
. 私が自分のコードで抱えている問題は、ファイルに何を書き込んでも、何も取得FileInputReader
されないことです。
Android のドキュメントに記載されているアクセス許可をスクロールしましたが、内部ストレージに関するものは何も見つかりませんでした (このようなものに対するアクセス許可は必要ないと確信しています)。
肝心なのは、コードが正常にエラーなしで実行されたときに、 がFileInputWriter
何も書き込んでいない理由、または が何も読み取っていない理由 (どちらであるかはわかりません) がわかりません。FileInputReader