我有一個Android應用程序,我需要保存一個文件。 我創建這樣的文件:Android將文件保存到內部存儲器時工作,而對SD卡失敗
FileOutputStream fOut = openFileOutput(fileName,
MODE_WORLD_READABLE);
osw = new OutputStreamWriter(fOut);
我打開它是這樣的:
FileInputStream srcFileStream = openFileInput(fileName);
這正常工作與內部存儲器中的文件。 我已經爲我的應用程序添加了一個選項,用戶可以選擇將該文件保存到SD卡上。 我試試這個命令:
if (Prefs.getCard(this))
fileName="/sdcard/"+fileName;
也就是說如果Prefrences是肯定的,我添加文件名的「/ SD卡/」盈。 代碼的其餘部分保持不變,
這似乎並沒有工作,因爲我得到一個異常:
File /sd/file1 contains a path seperator
我如何使用相同的代碼都保存到SD卡和內部記憶,只是一個小的修改,因爲我上面試過?
您必須打開流普通的老Java方式。 'Context'的文件操作不允許子目錄,只能在你的內部應用程序目錄中工作 – zapl
當我這樣做時,我得到:打開失敗:EACCES(Permision denied) – Programer