簡體   English   中英

Filereader 上的“沒有這樣的文件或目錄”錯誤 - Android

[英]'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() )。 使用ContentResolveropenInputStream()讀取該Uri指向的內容。 您可以將其包裝在InputStreamReader以與現有的基於Reader的代碼一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM