簡體   English   中英

FileInputStream 和 FileOutputStream

[英]FileInputStream and FileOutputStream

我創建了一個.txt文件,並希望將我輸入到文本框中的數據保存到文件中。 如果我點擊一個按鈕,我想加載我從文件中保存的數據。 我有兩者的代碼,但它不起作用,如果我有一些錯誤,希望你能幫助我:)

加載出文件:

public void Liste() throws FileNotFoundException {
    try {
        FileInputStream instream = openFileInput(Environment.getDataDirectory()
                + "/assets/bmiwerte.txt");
        if (instream != null) {
            InputStreamReader inputreader = new InputStreamReader(instream);
            BufferedReader buffreader = new BufferedReader(inputreader);
            String line, line1 = "";
            try {
                while ((line = buffreader.readLine()) != null)
                    line1 += line;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    } catch (Exception e) {
        String error = "Fehlermeldung!!!";
        error = e.getMessage();
    }
}

保存到文件:

public void SaveList(View view) {
    //Pfad, im privaten Speicherbereich Environment.getDataDirectory();
    File file = new File(Environment.getDataDirectory() + "/assets/bmiwerte.txt");
    try {
        OutputStreamWriter fdg = new OutputStreamWriter(new FileOutputStream(file, true));
        fdg.write("" + this.weight);
        fdg.close();

        OutputStreamWriter asdf = new OutputStreamWriter(new FileOutputStream(file, true));
        asdf.write("" + this.height);
        asdf.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    Intent intent = new Intent(this, MyList.class);
    startActivity(intent);
}

為 AndroidManifest.xml 文件添加權限:

<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    ...
</manifest>

編輯:也使用Environment.getExternalStorageDirectory()而不是Environment.getDataDirectory()它的 ReadOnly 。

暫無
暫無

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

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