Я не могу переименовать/переместить свой временный файл и открыть его
Вот код, который я использовал для создания временного файла
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
//[...]
java.io.File tempFile = java.io.File.createTempFile("filetmp", "_handled", null);
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(responseBody); //responseBody (byte[]) not null
fos.close();
//[...]
}
Затем я (пытаюсь) сохранить его на диск
private void saveIntoDisk(java.io.File file) {
if (PersitencyManager.isExternalStorageWritable()) {
java.io.File dirEvent = this.getParentEvent().getDirectory();
Log.d("ROOT PATH", "" + dirEvent.getAbsolutePath());
java.io.File myNewFile = new java.io.File(dirEvent.toString() + "/"+identifiant+"_"+name);
Log.d("FILE PATH", "" + myNewFile.getAbsolutePath());
path = myNewFile.getAbsolutePath();
if (!file.renameTo(myNewFile)) {
Log.e("File Rename", "Can not rename this file"); // display on console
} else {
Log.i("File Rename", "Filed renamed successfully");
}
}
}
Как я создаю родительскую папку:
public static java.io.File getFolderStorageDir(String folderName) {
// Get the directory for the user's public pictures directory.
java.io.File file = new java.io.File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOCUMENTS), folderName);
if (!file.mkdirs()) {
if (!file.isDirectory()) {
Log.e("Directory_Creation", "Directory not created");
}
}
return file;
}
Я получаю это сообщение на своей консоли: «Невозможно переименовать этот файл». file.renameTo(myNewFile)
не работает..
path
кажется хорошим:
D/ПУТЬ К ФАЙЛУ﹕ /storage/emulated/0/Documents/12047/4691_test.pdf
Вот мой AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Результат: создается родительская папка, но не файл...
Любая идея о моей проблеме?