私はAndroidのアプリを書いています。2つのアクティビティ。1つは「hellomessage」と入力するテキストエディット、もう1つはメッセージを内部ストレージに保存するボタンです。2番目は主な活動です。こんにちはメッセージは、アプリの起動後に表示されます。
2番目のアクティビティ:
String s = ((EditText) findViewById(R.id.message_act_editText_hello)).getText().toString();
FileOutputStream fos = openFileOutput(Lab2AndroidActivity.FILENAME, Context.MODE_PRIVATE);
fos.write(s.getBytes());
fos.close();
最初の(メイン)アクティビティ:
static String FILENAME = "message_file.zip";
FileOutputStream fos;
try {
//piece of code to guarantee that file exists
fos = openFileOutput(Lab2AndroidActivity.FILENAME, Context.MODE_APPEND);
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
fis = openFileInput(FILENAME);
messageString = new StringBuffer("");
while ((length = fis.read(buffer)) != -1) {
String temp = new String(buffer, 0,length);
messageString.append(temp);
fis.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Toast t = Toast.makeText(this, messageString, 3000);
t.show();
次の行のlogcatでIO例外が発生しています。
while ((length = fis.read(buffer)) != -1)
しかし、アプリは正しく機能しているようです(アプリの起動後に定義されたメッセージが表示されます)。説明を見つけようとしましたが、いくつかのトピックが見つかりましたが、すべてが大きなファイル、アセット内のファイル、または圧縮ファイルによるものでした。ファイルに次のような名前を付けようとしました
static String FILENAME = "message_file.zip",
static String FILENAME = "message_file.txt",
さまざまな拡張機能を試してみますが、常に同じIO例外が発生します。
提案をありがとう。