Java错误ENOENT(没有这样的文件或目录)

来源:爱站网时间:2021-09-16编辑:网友分享
我正在开发一个应用程序,该应用程序允许我使用打开的文件管理器在设备内搜索文件,然后将数据保存在Sqlite中。首先,我有一个寻找.txt文件的按钮。本地....

问题描述


我正在开发一个应用程序,该应用程序允许我使用打开的文件管理器在设备内搜索文件,然后将数据保存在Sqlite中。首先,我有一个寻找.txt文件的按钮。

Local.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                        buscarArchivo = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                        buscarArchivo.addCategory(Intent.CATEGORY_OPENABLE);
                        buscarArchivo.setType("text/*");
                        startActivityForResult(buscarArchivo, 10);
                    }
                });

我获取文件的路径,然后将其发送到负责定位文件和存储数据的readFile()方法

     Uri uri = data.getData();
     String path = uri.getPath();
     path = path.substring(path.indexOf(":") + 1);

     String[] texto = leerArchivo(path);

接收路径并负责读取文件的方法

private String[] leerArchivo(String path) throws FileNotFoundException {

        InputStream inputStream = new FileInputStream(Environment.getExternalStorageDirectory() + "/" + path);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

        try {
            int i = inputStream.read();
            while (i != -1) {
                byteArrayOutputStream.write(i);
                i = inputStream.read();
            }
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return byteArrayOutputStream.toString().split("\n");
    }

但是在运行应用程序并选择文件时,它会产生以下错误

W/System.err: java.io.FileNotFoundException: /storage/emulated/0/Probando.txt: open failed: ENOENT (No such file or directory)
W/System.err:     at libcore.io.IoBridge.open(IoBridge.java:452)

思路:


您是否检查过路径是否正确?也许这条线

path = path.substring(path.indexOf(":") + 1);

不重新引用实际路径。尝试直接使用绝对路径,以检查错误是否仍然存在。

上一篇:如何将一个实体映射到不同的表

下一篇:[使用rowMapper将jsonb列映射到Java模型

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载