Android не создает файл в одном каталоге, но создает в другом - PullRequest
0 голосов
/ 22 ноября 2010

У меня есть небольшой фрагмент кода, который просто не записывает файл на 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/Android/data/org.my.app/files/thumbnailcache.

Вот интересная часть : Когда я пытаюсь записать в /mnt/sdcard/Test/, это удается.

Как это возможно?

1 Ответ

3 голосов
/ 22 ноября 2010

у вас есть разрешение

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

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...