java - 试图从 Uri Android 读取文本文件

标签 java android file

我创建了一个返回文本文件 uri 的 android 文件选择器。我想打开并读取文件并存储它的数据。我的代码是:

private void covertFile(Uri data) {

        InputStream inputStream = getContentResolver().openInputStream(data);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

        String myText = "";
        int in;
        try {
            in = inputStream.read();
            while (in != -1)
            {
                byteArrayOutputStream.write(in);
                in = inputStream.read();
            }
            inputStream.close();

            myText = byteArrayOutputStream.toString();
        }catch (IOException e) {
            e.printStackTrace();
        }

        myTextView.setText(myText);
    }

但是行 InputStream inputStream = getContentResolver().openInputStream(data); 给出了java.Io.FileNotFoundException。我该如何解决这个问题?

编辑:问题已解决

最佳答案

首先创建文件对象

    String path = data.toString();
    File file = new File(path);

现在将文件对象作为参数传递给 InputStream

    InputStream inputStream = getContentResolver().openInputStream(file);

关于java - 试图从 Uri Android 读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58659573/

相关文章:

android - 运行 bash 文件时 project_create.sh 中的问题

linux - 更改用户和文件组

循环和文件输出中的 Java 进程

node.js - 在 ExpressJS/NodeJS 中移动文件

java - 莫基托 : Basic Code doubts

java - 如何在Microstream中正确使用BinaryHandler来存储 volatile 长整型数组?

java - Web服务器部署问题

java - 从 Java 访问 .NET/dll 库/组件?

android - 为什么 Android 中的项目高度不包裹内容?

android - 使用 Google App Engine 和 Firebase Cloud Messaging 进行通知