小さな問題があります。ファイルを書き込んでから読み取ろうとしていますが、機能しません。これはコードです
public void SaveData(String data){
try {
FileOutputStream fieloutputsteam = openFileOutput("basketball.txt",MODE_PRIVATE);
fieloutputsteam.write(data.getBytes());
fieloutputsteam.close();
Log.d("debug1","Save completed");
Log.d("debug1","Data: "+ data+"");
}
catch(Exception e)
{
Log.d("debug1","Error on saving");
}
}
public void ReadFile() {
String data2 = null;
try {
FileInputStream fileinputsteam = openFileInput("basketball.txt");
InputStreamReader isr = new InputStreamReader(fileinputsteam);
BufferedReader br = new BufferedReader(isr);
StringBuffer sb = new StringBuffer();
while ((data2 = br.readLine()) != null) {
sb.append(data2 + "\n");
}
Log.d("debug1","Reading complete");
Log.d("debug1","data: "+data2+"");
} catch (Exception e) {
Log.d("debug1","Error on read");
}
}
ログ出力は次のとおりです。
03-25 10:11:53.814 12149-12149/com.example.remix3030303.myapplication D/debug1: Save completed
03-25 10:11:53.814 12149-12149/com.example.remix3030303.myapplication D/debug1: Data: 1,1,0,0,0,0
03-25 10:11:53.819 12149-12149/com.example.remix3030303.myapplication D/debug1: Reading complete
03-25 10:11:53.820 12149-12149/com.example.remix3030303.myapplication D/debug1: data: null
読み取った後のデータがnullである理由がわかりません。私はAndroidStudio 3.0.1を使用していますが、これもマニフェストに追加しました。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
ループ状態に注意してください。
while ((data2 = br.readLine()) != null) {
sb.append(data2 + "\n");
}
停止したら、であるdata2
必要がnull
あります。StringBuffer sb
代わりにログに記録する必要があります。
Log.d("debug1","data: "+ sb.toString());
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加