代碼:
new FileOutputStream("/data/" + fileName); // 絕對路徑
現象:不報錯,但磁碟無檔案。
/data 需 root 權限,普通使用者無法寫入。/ 後在專案根目錄建立檔案(相對路徑 data/)。File dir = new File("/data");
if (!dir.exists()) dir.mkdirs(); // 需權限
if (!dir.canWrite()) throw new IOException("無寫入權限");
String userDir = System.getProperty("user.dir"); // 專案根目錄
File out = new File(userDir, "data/" + fileName);
out.getParentFile().mkdirs(); // 確保父目錄存在
Context.getFilesDir()、getExternalFilesDir() 取得合法儲存路徑。「絕對路徑 /data 在伺服器/容器中通常不可寫」,優先使用相對路徑或系統提供的臨時/應用目錄。