簡體   English   中英

Android Studio文件寫入不起作用

[英]Android studio File writing is not working

我有一個小問題。 我正在嘗試寫入文件,然后讀取它,但是它不起作用。 這是代碼

 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

我不知道為什么讀取后的數據為空。 我在Android Studio 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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM