gpt4 book ai didi

java - 使用 uri 将文件读取到字节数组

转载 作者:行者123 更新时间:2023-12-01 08:59:26 24 4
gpt4 key购买 nike

我需要使用 uri 来加载文件。 uri 无法转换为绝对路径(外部卷)。

我找到了例子:

private String readTextFromUri(Uri uri) throws IOException {
    InputStream inputStream = getContentResolver().openInputStream(uri);
    BufferedReader reader = new BufferedReader(new InputStreamReader(
            inputStream));
    StringBuilder stringBuilder = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
        stringBuilder.append(line);
    }
    fileInputStream.close();
    parcelFileDescriptor.close();
    return stringBuilder.toString();
}

但我不明白如何修改它以读取字节。

最佳答案

正如 pskink 所说,您的主要问题是您将 InputStream 包装在 Reader 中。 Reader 的目的是将字节解码为字符,根据定义,这是您想要避免的。您需要分配一个缓冲区并使用InputStream的read方法来填充它。

请记住,您必须知道传入字节数或在处理已接收到的数据时多次读取。

或者,您可以使用 read 方法获取一个 int,检查流是否已结束,然后将该 int 转换为一个字节并一一处理。但通常,您希望使用缓冲区,因为这样更快。

关于java - 使用 uri 将文件读取到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41801605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com