URL経由でファイルをダウンロードするための小さなプログラムを作成しました。他のすべてのファイル形式は適切に開くことができますが、ダウンロードした pdf の場合は不可能です。
public static void saveFile(String fileUrl, String destinationFile) throws IOException {
URL url = new URL(fileUrl);
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(destinationFile);
byte[] b = new byte[2048];
int length;
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
os.flush();
is.close();
os.close();
}
PDF のダウンロードを処理するために特別な方法が必要ですか?
ブラウザで URL を介して選択した PDF を取得しようとすると、正しく表示されます
編集
コードに flush() を追加しましたが、まだ成功していません
破損した PDF をブラウザー (FF) で開こうとすると、次のエラーが返されます。
ファイルが「%PDF-」で始まっていません
Adobe Reader の戻り値:
ファイルの種類がサポートされていないか、ファイルが破損しているため、ファイルを開くことができませんでした。
損害賠償PDFのサイズが元のサイズよりも小さい(約80%)