Я пишу программу для загрузки PDF-файла с сервера. Я использую некоторую программу, приведенную здесь Download file by passing URL using java code, это решение отлично подходит для образца URL, предоставленного в первом ответе, но не для PDF, я заменяю только URL. Ниже мой код.скачать pdf с помощью java
import java.io.*;
import java.net.*;
public class FileDownloadTest {
final static int size = 1024;
public static void fileUrl(String fAddress, String localFileName, String destinationDir) {
// localFileName = "Hello World";
OutputStream outStream = null;
URLConnection uCon = null;
InputStream is = null;
try {
URL url;
byte[] buf;
int byteRead, byteWritten = 0;
url = new URL(fAddress);
outStream = new BufferedOutputStream(new FileOutputStream(destinationDir + "\\" + localFileName));
uCon = url.openConnection();
is = uCon.getInputStream();
buf = new byte[size];
while ((byteRead = is.read(buf)) != -1) {
outStream.write(buf, 0, byteRead);
byteWritten += byteRead;
}
System.out.println("Downloaded Successfully.");
System.out.println("File name:\"" + localFileName + "\"\nNo ofbytes :" + byteWritten);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
is.close();
outStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void fileDownload(String fAddress, String destinationDir) {
int slashIndex = fAddress.lastIndexOf('/');
int periodIndex = fAddress.lastIndexOf('.');
String fileName = fAddress.substring(slashIndex + 1);
if (periodIndex >= 1 && slashIndex >= 0 && slashIndex < fAddress.length() - 1) {
fileUrl(fAddress, fileName, destinationDir);
} else {
System.err.println("path or file name.");
}
}
public static void main(String[] args) {
String fAddress = "http://singztechmusings.files.wordpress.com/2011/09/maven_eclipse_and_osgi_working_together.pdf";
String destinationDir = "D:\\FileDownload";
fileDownload(fAddress, destinationDir);
}
}
Здесь Это PDF 73 страниц, и в моей папке, это загрузить в формате PDF из 1KB, при открытии в Acrobat Reader, это говорит о том, что файл может быть поврежден.
Я также пробовал код, приведенный здесь https://dzone.com/articles/java-how-save-download-file, но результат такой же.
, пожалуйста, дайте мне знать, как я могу это исправить.
Благодаря
Привет Мандис. Wohooooooooo. Это работало потрясающе. У меня есть быстрый вопрос, если я добавлю '' 'на' http' сайты будут работать? – user3872094
№. Сайт должен поддерживать протокол https, а также контент может отличаться при использовании http vs https. Лучшим решением будет использование http-клиента, который автоматически перенаправляет перенаправления, например [http-commons] (https://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/fundamentals.html#d5e334) , –