Я ловлю IOException при загрузке файла и удалении файла. К сожалению, место на SD-карте освобождается не сразу, но в данный момент приложение закрывается. Есть ли возможность сделать это напрямую? Приложению понадобится немного свободного места, и в противном случае произойдет сбой ...
public boolean writeToFile(InputStream source, String destination) {
File file = new File(destination);
try {
file.createNewFile();
OutputStream output = new BufferedOutputStream(new FileOutputStream(file));
byte[] buf = new byte[Utils.CHUNK_SIZE];
int len;
while ((len = source.read(buf)) > 0) {
output.write(buf, 0, len);
bytesReceived += len;
publishProgress();
}
output.close();
return true;
} catch (IOException e) {
// no write access or sd card full
file.delete();
return false;
}
}