?? httpget.java
字號:
import java.io.*;
import java.net.*;
import java.util.*;
public class HttpGet {
public final static boolean DEBUG = true;//調試用
private static int BUFFER_SIZE = 8096;//緩沖區大小
private Vector<String> vDownLoad = new Vector<String>();//URL列表
private Vector<String> vFileList = new Vector<String>();//下載后的保存文件名列表
/**
* 構造方法
*/
public HttpGet() {
}
/**
* 增加下載列表項
*/
public void addItem(String url, String filename) {
vDownLoad.add(url);
vFileList.add(filename);
}
/**
* 根據列表下載資源
*/
public void downLoadByList() {
String url = null;
String filename = null;
//按列表順序保存資源
for (int i = 0; i < vDownLoad.size(); i++) {
url = (String) vDownLoad.get(i);
filename = (String) vFileList.get(i);
try {
saveToFile(url, filename);
}
catch (IOException err) {
if (DEBUG) {
System.out.println("資源[" + url + "]下載失敗!!!");
}
err.printStackTrace();
}
}
if (DEBUG) {
System.out.println("下載完成!!!");
}
}
// 將HTTP資源另存為文件
public void saveToFile(String destUrl, String fileName) throws IOException {
FileOutputStream fos = null;
BufferedInputStream bis = null;
HttpURLConnection httpUrl = null;
URL url = null;
byte[] buf = new byte[BUFFER_SIZE];
int size = 0;
//建立鏈接
url = new URL(destUrl);
httpUrl = (HttpURLConnection) url.openConnection();
//連接指定的資源
httpUrl.connect();
//獲取網絡輸入流
bis = new BufferedInputStream(httpUrl.getInputStream());
//建立文件
fos = new FileOutputStream(fileName);
if (this.DEBUG)
System.out.println("正在獲取鏈接[" + destUrl + "]的內容...\n將其保存為文件[" + fileName + "]");
//保存文件
while ( (size = bis.read(buf)) != -1)
fos.write(buf, 0, size);
fos.close();
bis.close();
httpUrl.disconnect();
}
// 主方法(用于測試)
public static void main(String argv[]) {
HttpGet oInstance = new HttpGet();
try {
//增加下載列表(此處用戶可以寫入自己代碼來增加下載列表)
oInstance.addItem("http://www.google.cn/music/chartlisting?q=chinese_new_songs_cn&cat=song&grouping=new-release_music/大丈夫.mp3","./大丈夫.mp3");
oInstance.addItem("http://www.91ylhx.cn/music/media/wmnrsz.wma","./wmnrsz.wma");
oInstance.addItem("http://www.ebook.com/java/網絡編程003.zip","./網絡編程3.zip");
oInstance.addItem("http://www.ebook.com/java/網絡編程004.zip","./網絡編程4.zip");
oInstance.addItem("http://www.ebook.com/java/網絡編程005.zip","./網絡編程5.zip");
oInstance.addItem("http://www.ebook.com/java/網絡編程006.zip","./網絡編程6.zip");
oInstance.addItem("http://www.ebook.com/java/網絡編程007.zip","./網絡編程7.zip");
//開始下載
oInstance.downLoadByList();
}
catch (Exception err) {
System.out.println(err.getMessage());
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -