簡體   English   中英

Android 讀寫文件到內部存儲

[英]Android reading and writing files to internal storage

我在讀取和寫入文件到內部存儲時遇到問題。

這些是我用來寫入/讀取文件的方法:

public static void writeFile(String fileName, String data) throws IOException {
    File file = new File(activity.getFilesDir() + "/" + fileName);
    file.getParentFile().mkdirs();
    if (file.exists())
        file.delete();
    file.createNewFile();
    FileOutputStream fos = new FileOutputStream(file);
    fos.write(data.getBytes());
    fos.close();
}

public static String readFile(String fileName) throws IOException {
    FileInputStream fis = new FileInputStream(new File(activity.getFilesDir() + "/" + fileName));
    InputStreamReader isr = new InputStreamReader(fis);
    BufferedReader br = new BufferedReader(isr);
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();
    while (line != null) {
        sb.append(line);
        line = br.readLine();
    }
    fis.close();
    return sb.toString();
}

這有效:

writeFile("fileName", "someData");
readFile("fileName");

但這不是:

writeFile("directory/filename", "someData");
readFile("directory/filename");

出於某種原因,我收到 FileNotFoundException :(沒有這樣的文件或目錄)

我嘗試了一些其他方法,但對路徑不起作用。

檢查寫入或讀取 - AndroidManifest.xml 中的存儲權限

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

或者在你的代碼中嘗試這樣

`文件夾=新文件(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/EmailClient/");

文件夾.mkdirs(); 文件文件=新文件(文件夾,文件名); file.createNewFile();`

暫無
暫無

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

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