私のアプリの内部ストレージに保存されているファイルの内容を印刷しようとしていますが、何か奇妙なことが起こります。Android:ファイルの内容を正しく印刷できない
これは、関数である:私は実行すると
public void print() throws IOException {
FileInputStream fin = fileContext.getApplicationContext().openFileInput("myfile");
System.out.println("File Found");
int c;
String temp = "";
while ((c = fin.read()) != -1) {
temp = temp + Character.toString((char) c);
System.out.println(temp);
}
System.out.println(temp);
System.out.println("Please Print Something To Test");
fin.close();
しばらくのcicle内のアプリケーションのSystem.outは完璧に動作します..しかし、しばらくのcicle外Systm.out.println(temp)
はまったく呼び出されません。
最も奇妙なことは、System.out.println("Please Print Something To Test");
が正しく呼び出されていることです。 問題は何か、私は何か間違っているのですか?
EDIT:これはdublicateではありません..私は、他のすべてのスレッドを読んでいると、これは誰もが、あなたがこの方法を使用して、ファイルから読み取るしようとすることができます
'temp'は" "なので、なぜ表示されません。例外がスローされると、finは決して閉じられないので、finallyブロックでリソースを閉じる必要があります。 – m0skit0
私は、マークされた重複がこの質問に全く答えないと感じません。単に側面の問題。 @ m0skit0コメントはそれによく答える。 Iveは再オープンのためにフラグを立てます – Doomsknight
@ m0skit0しかし、tempはwhile cicleの中に埋め込まれています。そして、最後に完全な文字列で埋めなければなりません。 –