主要是 URL 和 HttpURLConnection 類的運(yùn)用,看代碼:
創(chuàng)新互聯(lián)服務(wù)項目包括曲麻萊網(wǎng)站建設(shè)、曲麻萊網(wǎng)站制作、曲麻萊網(wǎng)頁制作以及曲麻萊網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,曲麻萊網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到曲麻萊省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
import?java.io.DataInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java點(diǎn)虐 .HttpURLConnection;
import?java點(diǎn)虐 .URL;
public?class?HttpDownloader?{
private?static?final?String?REMOTE_FILE_URL?=?"";
private?static?final?String?LOCAL_FILE_PATH?=?"D:/some.pdf";?//?改成你保存?文件的路徑
public?static?void?main(String[]?args)?{
new?HttpDownloader(REMOTE_FILE_URL,?LOCAL_FILE_PATH).download();
}
private?String?remoteFileUrl;
private?String?localFilePath;
public?HttpDownloader(String?remoteFileUrl,?String?localFilePath)?{
this.remoteFileUrl?=?remoteFileUrl;
this.localFilePath?=?localFilePath;
}
public?void?download()?{
try?{
URL?url?=?new?URL(remoteFileUrl);
HttpURLConnection?httpURLConnection?=?(HttpURLConnection)?url.openConnection();
httpURLConnection.setConnectTimeout(5?*?1000);?//?5000?毫秒內(nèi)沒有連接上?則放棄連接
httpURLConnection.connect();?//?連接
System.out.println("連接?URL?成功~");
int?fileLenght?=?httpURLConnection.getContentLength();
System.out.println("文件大?。??+?(fileLenght?/?1024.0)?+?"?KB");
System.out.println("開始下載...");
try?(DataInputStream?dis?=?new?DataInputStream(httpURLConnection.getInputStream());
FileOutputStream?fos?=?new?FileOutputStream(localFilePath))?{
byte[]?buf?=?new?byte[10240];?//?根據(jù)實際情況可以?增大?buf?大小
for?(int?readSize;?(readSize?=?dis.read(buf))??0;)?{
fos.write(buf,?0,?readSize);
}
System.out.println("下載完畢~");
}?catch?(IOException?ex)?{
System.out.println("下載時出錯");
}
httpURLConnection.disconnect();
}?catch?(IOException?ex)?{
System.out.println("URL?不存在或者連接超時");
}
}
}
解析指定頁面,得到pdf文件的地址,用URL來取回pdf的輸入流,然后寫到本地文件。
java文件下載不能下載pdf的原因:
1、電腦沒裝閱讀器。
2、文件加密了。
3、對應(yīng)的下載工具不支持。
4、Java類文件是Java程序的二進(jìn)制表示形式。每一個類文件代表一個類或者接口。不可能在一個類文件中放入多個類或者接口。這樣就使得無論類文件是在哪一種平臺上生成,都可以在任何主機(jī)上執(zhí)行。