2
我想創建新的文件,而是會創建目錄......我嘗試了許多檢查和方式。在我的應用程序的不同部分創建新的文件工作正常...目錄的創建,而不是文件
public void copyDatabaseFromAssets() throws IOException {
InputStream inputStream = app.getAssets().open(Static.DATABASE_FILE_NAME);
File directory = new File(getInternalDatabaseFolder());
boolean exist = directory.exists();
boolean isDirecotry = directory.isDirectory();
boolean isFile = directory.isFile();
if(!directory.exists())directory.mkdirs();
File targetFile = new File(directory.getAbsolutePath(),Static.DATABASE_FILE_NAME);
boolean exist2 = targetFile.exists();
boolean isDirecotry2 = targetFile.isDirectory();
boolean isFile2 = targetFile.isFile();
boolean created = targetFile.createNewFile();
FileTool.copyDataBaseFromAssets(inputStream,targetFile);
}
調試 - >
directory = /data/data/***/databases
exist = true
isDirectory = true
isFile = false
targetFile = /data/data/***/databases/database.sqlite
exist2 = true
isDirectory2 = true
isFile2 = false
created = false
錯誤 - >
java.io.FileNotFoundException: /data/data/***/databases/database.sqlite: open failed: EISDIR (Is a directory)
您確定您正在查看'isDirecotry2'和'isFile2'嗎? –
嘗試移除'boolean created = targetFile.createNewFile();'根據您在'copyDataBaseFromAssets'中使用的內容,文件可能會自動創建。 –
我編輯的問題,調試很好 –