【发布时间】:2016-01-28 13:58:57
【问题描述】:
我正在尝试将文件从资产文件夹复制到应用程序的数据目录/内部存储。
文件保存在 assets 文件夹中,文件名为 eng.traineddata。
这是我正在使用的代码:
File file = new File(getFilesDir(), "eng.traineddata");
if (!file.exists()) {
try {
InputStream inputStream = getAssets().open("eng.traineddata");
OutputStream outputStream = new FileOutputStream("eng.traineddata");
byte[] buffer = new byte[5120];
int length = inputStream.read(buffer);
while (length > 0) {
outputStream.write(buffer, 0, length);
length = inputStream.read(buffer);
}
outputStream.flush();
outputStream.close();
inputStream.close();
} catch (IOException e) {
Log.e("APP_INITIALIZER", e.getMessage());
}
}
但我总是在 logcat 中收到这条消息:eng.traineddata: open failed: EROFS (Read-only file system)
【问题讨论】:
-
第一行的“new File()”可能是问题的原因,而不是第四行的 open()。
标签: android