gpt4 book ai didi

android - 在android中将pdf转换为String

转载 作者:太空狗 更新时间:2023-10-29 15:25:52 27 4
gpt4 key购买 nike

我正在使用以下函数将 pdf 转换为字符串:

        private String GetString(String filepath) throws IOException {
InputStream inputStream = new FileInputStream(filepath);
String inputStreamToString = inputStream.toString();
byte[] byteArray = inputStreamToString.getBytes();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
return encoded;
}

我得到的输出是:

amF2YS5pby5GaWxlSW5wdXRTdHJlYW1ANTM1MDhmNTg=

我发现这个输出是错误的。因为当我编码一个 2MB 的 pdf 文件时,它肯定不能这么短。实际上我在 php 服务器中解码了 base64,输出是一个无效的 pdf。所以我的问题是函数中缺少什么?

好的。问题解决了。以下是执行此操作的正确代码:

private String GetString(String filepath) throws IOException {
InputStream inputStream = new FileInputStream(filepath);
byte[] byteArray = IOUtils.toByteArray(inputStream);
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
return encoded;
}

最佳答案

错误的部分是:String inputStreamToString = inputStream.toString();。结果,您不会获得输入流的内容,您只会获得类似“FileInputStream@021849”的内容。

您应该以另一种方式从流中读取,例如:Android FileInputStream read() txt file to String

顺便说一句,您可以直接将文件读取为字节数组,而不是将文件读取为字符串并将其转换为字节数组。

关于android - 在android中将pdf转换为String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007059/

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