下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Java實現(xiàn)網(wǎng)絡(luò)資源的單線程下載目錄一、題目描述二、解題思路三、代碼詳解
一、題目描述
題目實現(xiàn):在一個線程中完成網(wǎng)絡(luò)資源的下載。
二、解題思路
創(chuàng)建一個類:SingleThreadDownloadFrame,繼承JFrame窗體類。
定義一個download()方法:用于從指定網(wǎng)址下載文件
使用URLConnection類的getInputStream()方法獲取網(wǎng)頁資源的輸入流對象。
獲得完整路徑,截取路徑,獲得路徑中最后一個斜杠的位置當(dāng)文件名
從輸入流中讀取內(nèi)容,寫到本地文件中。
測試下載這個鏈接
三、代碼詳解
SingleThreadDownloadFrame
packagecom.xiaoxuzhu;
importjava.awt.Color;
importjava.awt.EventQueue;
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.FileOutputStream;
importjava.io.InputStream;
import.URL;
import.URLConnection;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
*Description:在一個線程中完成網(wǎng)絡(luò)資源的下載
*@authorxiaoxuzhu
*@version1.0
*pre
*修改記錄:
*修改后版本修改人修改日期修改內(nèi)容
*2025/5/24.1xiaoxuzhu2025/5/24Create
*/pre
*@date2025/5/24
publicclassSingleThreadDownloadFrameextendsJFrame{
privateJTextFieldtf_address;
*Launchtheapplication
*@paramargs
publicstaticvoidmain(Stringargs[]){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
SingleThreadDownloadFrameframe=newSingleThreadDownloadFrame();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
*Createtheframe
publicSingleThreadDownloadFrame(){
super();
getContentPane().setLayout(null);
setTitle("網(wǎng)絡(luò)資源的單線程下載");
setBounds(100,100,500,237);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finalJLabellabel=newJLabel();
label.setText("網(wǎng)絡(luò)資源的網(wǎng)址:");
label.setBounds(10,88,118,18);
getContentPane().add(label);
tf_address=newJTextField();
tf_address.setBounds(117,86,357,22);
getContentPane().add(tf_address);
finalJButtonbutton=newJButton();
button.addActionListener(newActionListener(){
publicvoidactionPerformed(finalActionEvente){
Stringaddress=tf_address.getText().trim();//獲得網(wǎng)址
download(address);//下載文件
button.setText("單擊開始下載");
button.setBounds(41,144,145,28);
getContentPane().add(button);
finalJButtonbutton_1=newJButton();
button_1.addActionListener(newActionListener(){
publicvoidactionPerformed(finalActionEvente){
tf_address.setText(null);//清除文本框內(nèi)容
tf_address.requestFocus();//文本框獲得焦點
button_1.setText("清空");
button_1.setBounds(204,144,106,28);
getContentPane().add(button_1);
finalJButtonbutton_2=newJButton();
button_2.addActionListener(newActionListener(){
publicvoidactionPerformed(finalActionEvente){
System.exit(0);
button_2.setText("退出");
button_2.setBounds(328,144,106,28);
getContentPane().add(button_2);
finalJLabellabel_1=newJLabel();
label_1.setForeground(newColor(0,0,255));
label_1.setFont(newFont("",Font.BOLD,24));
label_1.setText("網(wǎng)絡(luò)資源的單線程下載");
label_1.setBounds(117,21,301,48);
getContentPane().add(label_1);
publicvoiddownload(StringurlAddr){//從指定網(wǎng)址下載文件
try{
URLurl=newURL(urlAddr);//創(chuàng)建URL對象
URLConnectionurlConn=url.openConnection();//獲得連接對象
urlConn.connect();//打開到url引用資源的通信鏈接
InputStreamin=urlConn.getInputStream();//獲得輸入流對象
StringfilePath=url.getFile();//獲得完整路徑
intpos=filePath.lastIndexOf("/");//獲得路徑中最后一個斜杠的位置
StringfileName=filePath.substring(pos+1);//截取文件名
FileOutputStreamout=newFileOutputStream("D:/"+fileName);//創(chuàng)建輸出流對象
byte[]bytes=newbyte[1024];//聲明存放下載內(nèi)容的字節(jié)數(shù)組
intlen=in.read(bytes);//從輸入流中讀取內(nèi)容
while(len!=-1){
out.write(bytes,0,len);//將讀取的內(nèi)容寫到輸出流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省珠海市金灣區(qū)2025-2026學(xué)年度第一學(xué)期期末七年級地理試題(無答案)
- 養(yǎng)老院入住資格審核制度
- 信息安全與保密管理制度
- 空調(diào)公司管理制度廣告宣傳管理規(guī)定樣本
- 乙烯裝置操作工崗后知識考核試卷含答案
- 我國上市公司獨立董事薪酬激勵制度:現(xiàn)狀、問題與優(yōu)化路徑
- 我國上市公司換股合并中股東主動退出制度的多維審視與完善路徑
- 助聽器驗配師持續(xù)改進(jìn)考核試卷含答案
- 硅烷法多晶硅制取工崗前創(chuàng)新實踐考核試卷含答案
- 化工萃取工操作規(guī)范評優(yōu)考核試卷含答案
- GB 11174-2025液化石油氣
- 熱工儀表工試題全集
- 建筑室外亮化施工方案
- 2025-2030老年婚戀市場需求分析與服務(wù)平臺優(yōu)化方向
- 引水隧洞洞挖專項施工方案
- 急性發(fā)熱課件
- 醫(yī)療器械生產(chǎn)企業(yè)變更控制程序
- 疼痛科醫(yī)師進(jìn)修總結(jié)匯報
- 研究生學(xué)術(shù)交流論壇策劃
- 關(guān)于個人述責(zé)述廉存在問題及整改措施
- 靜脈穿刺血管選擇課件
評論
0/150
提交評論