无法解决以下错误,打开失败:ENOENT(无此文件或目录)

时间:2020-05-31 09:24:11

标签: android csv

我正在开发一个Android应用程序,在某个时候,我需要访问我的设备存储(不是SD卡),选择一个csv文件(通过蓝牙传输到我的手机),然后尝试在我的应用程序中读取它用于进一步处理问题。 到目前为止,我已经能够访问设备存储并从那里选择我的csv文件,但是当我尝试在我的代码中读取我的csv文件时,我不断收到以下代码:

*

/data/Download/image78.csv:打开失败:ENOENT(无此文件或 目录)

*

我正在尝试使用此代码访问设备存储

ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},123);
            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
                Log.d("fileee","Permission granted");
                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("*/*");
                startActivityForResult(Intent.createChooser(intent, "Open CSV"), ACTIVITY_CHOOSE_FILE1);
            }

我的onActivityResult是以下

 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    switch (requestCode){
        case ACTIVITY_CHOOSE_FILE1:
            if(resultCode==RESULT_OK){
               file= new File(data.getData().getPath());
               bladeimage = rd.readBladeImageBlue(file);

我正在尝试使用以下代码读取csv文件

public double[][] readBladeImageBlue(File file){ 
    String line="";
    try {
        BufferedReader reader=new BufferedReader(new FileReader(file));
        while ((line = reader.readLine()) != null) {
            //Split by ','
            String[] tokens=line.split(",");...

我的错误发生在BufferReader BufferedReader reader=new BufferedReader(new FileReader(file));上 行并直接抛出Filenotfound类型的异常。 **我也尝试使用不同的方式读取我的csv文件来解决我的问题,但我一直遇到相同的错误**

                Uri uri= data.getData();
                String uristring=uri.toString();
                file= new File(uristring);
                String path =file.getPath();
                bladeimage = rd.readBladeImageBlue(file);

并使用

读取数据
File file = new File(Environment.getDataDirectory(),path);
   FileInputStream inputStream=new FileInputStream(file);
   BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));

但是我遇到了同样的错误

我的清单代码正在使用以下权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我正在使用 Samsung SM-J700H Android 6.0.1,API 23 设备和 YES ,我已请求并检查了外部存储权限。 我究竟做错了什么? 感谢您的帮助

0 个答案:

没有答案