[英]'No such file or directory' error on Filereader - Android
我正在嘗試在 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...但我被卡住了。
任何幫助表示贊賞。
該文件確實存在,因為我從意圖中獲取路徑!
您決定不提供實際的“意圖”以及您如何使用它。 我猜它是ACTION_GET_CONTENT
。 在這種情況下,你會得到一個Uri
( data.getData()
)。 使用ContentResolver
和openInputStream()
讀取該Uri
指向的內容。 您可以將其包裝在InputStreamReader
以與現有的基於Reader
的代碼一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.