gpt4 book ai didi

java - 如何使用java流从网络获取PDF文件

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

我需要从网络下载 PDF 文件,例如 http://www.math.uni-goettingen.de/zirkel/loesungen/blatt15/loes15.pdf 此链接。我必须使用 Streams 来做到这一点。对于图像,它对我来说效果很好:

public static void main(String[] args) {
try {
//get the url page from the arguments array
String arg = args[0];
URL url = new URL("https://cs7065.vk.me/c637923/v637923205/25608/AD8WhOSx1ic.jpg");

try{
//jpg
InputStream in = new BufferedInputStream(url.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[131072];
int n = 0;
while (-1!=(n=in.read(buf)))
{
out.write(buf, 0, n);
}
out.close();
in.close();
byte[] response = out.toByteArray();
FileOutputStream fos = new FileOutputStream("borrowed_image.jpg");
fos.write(response);
fos.close();
}
catch (Exception e) {
e.printStackTrace();
}
}

但是对于 PDF,它不起作用。可能是什么问题?

最佳答案

我对您的代码进行了少量编辑以修复语法错误,这似乎有效(如下)。考虑将 close() 语句放在 finally block 中。

package org.snb;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;

public class PdfTester {
public static void main(String[] args) {
//get the url page from the arguments array

try{
//String arg = args[0];
URL url = new URL("http://www.pdf995.com/samples/pdf.pdf");
//jpg
InputStream in = new BufferedInputStream(url.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[131072];
int n = 0;
while (-1!=(n=in.read(buf)))
{
out.write(buf, 0, n);
}
out.close();
in.close();
byte[] response = out.toByteArray();
FileOutputStream fos = new FileOutputStream("/tmp/bart.pdf");
fos.write(response);
fos.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}

关于java - 如何使用java流从网络获取PDF文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201790/

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