【发布时间】:2016-04-21 01:27:44
【问题描述】:
我正在尝试在我的 Android 上的 SQLite 数据库中导入 CSV,目的是让用户选择 CSV 文件。
我收到一个 ENOENT 错误:FileReader file = new FileReader(fileName);
该文件确实存在,因为我从意图中获得了路径!
我的清单包括:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我的意图:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/csv");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_CVS);
我的 onActivityResult(...) :
if (resultCode == RESULT_OK) {
File myPath_CSV = new File(data.getData().toString());
try {
myDb.importCSV(myPath_CSV);
} catch (IOException e) {
e.printStackTrace();
}
}
我的 importCSV(fileName):
public void importOreilles(File fileName) throws IOException {
Log.w(TAG, fileName.toString());
FileReader file = new FileReader(fileName); // Getting an error !!!
BufferedReader buffer = new BufferedReader(file);
String line = null;
while ((line = buffer.readLine()) != null) {
String[] str = line.split(",");
insertOreille(str[0],str[1]); // Dealing with my database
}
}
我遇到的错误:
W/DBAdapter: file:/storage/emulated/0/Download/Oreilles.csv
W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/Download/ABCDE.csv: open failed: ENOENT (No such file or directory)
我尝试使用 getAbsolutePath、Uri、File... 但我卡住了。
任何帮助表示赞赏。
【问题讨论】: