java - 在 Android 上从字节流创建 pdf 文件

标签 java android pdf bytestream

如何从 Android 上的 http 响应中正确保存 pdf 文件?通过 rest API 接收字节流。我试过这个:

try
{
File outputFile = new File("/storage/emulated/0/Android/data/package/files/", "cot.pdf");
FileOutpuStream fos = new FileOutputStream(outputFile);
byte [] bytes = data.getBytes();//byte stream response
fos.write(bytes);
fos.flush();
fos.close();
}
catch(Exception e)
{
e.printStackTrace();
}

文件和数据都写入了,但是打开pdf时,只有空白页,这是怎么回事?

最佳答案

  fun download_pdf(data : ByteArray){
     val fileOutputStream =     FileOutputStream("/storage/emulated/0/dndinfoways.pdf")
    val inputStream: InputStream = ByteArrayInputStream(data)
    var data: Int
    while (inputStream.read().also { data = it } >= 0) {
        fileOutputStream.write(data)
    }
    inputStream.close()
}

关于java - 在 Android 上从字节流创建 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46382364/

相关文章:

java - 从 Java 中查找所有更改给定目录的提交

java - 如何在 jhipster 的公司注册内创建子用户

java - 在浏览器中编辑PDF并将其保存到服务器Java

java - Google App Engine 上的 JDO 与 JPA for Java

java - 关于Java继承的问题

javascript - Android 键盘关闭输入焦点

android - 如何制作美丽时尚的应用程序,如 Timely

android - 如何使用 viewmodel + livedata 进行单元测试改造 api 调用?

html - 如何限制 <input type ="file"> 使其只能选择 .pdf 文件?

java - 使用 Apache PDFBox 阅读 pdf