0
我有一小段代碼不會將文件寫入Android上的SD卡。Android不會在一個目錄中創建文件,但會在其他目錄中創建文件
InputStream in = thumbnailUrl.openStream();
File outputFile = new File(CACHE_DIR, photo.getId());
if (!outputFile.canWrite()) {
throw new IOException("Can't write to this file");
}
FileOutputStream fos = new FileOutputStream(outputFile);
BufferedOutputStream bos = new BufferedOutputStream(fos, 1024);
byte[] data = new byte[1024];
int datapart;
while ((datapart = in.read(data, 0, 1024)) >= 0) {
bos.write(data, 0, datapart);
}
bos.close();
fos.close();
in.close();
我確定我之前創建了文件夾CACHE_DIR
。它存在於SD卡上,但canWrite()
總是返回false
。這是路徑:我可以瀏覽目錄/mnt/sdcard/Android/data/org.my.app/files/thumbnailcache
。
這裏有趣的部分:當我嘗試寫入/mnt/sdcard/Test/
,它成功。
這怎麼可能?
是的,我願意!常見陷阱 – slhck 2010-11-21 21:33:45