JAVA中建立HTTP通訊,從伺服器上獲取HTML程式碼,通過HTTP請求來下載圖片或其他二進位制檔案的程式,下載結果要按下載到的檔案型別進行存檔中。
阿新 • • 發佈:2018-12-09
通過HTTP請求來下載圖片或其他二進位制檔案的程式,下載結果要按下載到的檔案型別進行存檔
將程式碼從伺服器的中獲取下來的程式碼,在我之前已經講過了這裡寫連結內容
這裡我們就直接將原始碼稍加改動,加入一個檔案並請將builder 寫入即可。
import java.net.*;
import java.io.*;
public class Httpconnect{
public static void main(String agrs[]){
try{
URL url=new URL("http://www.4399.com/");//建立一個URL類的例項,並指定網址
URLConnection connection=url.openConnection();//建立例項連線指定URL上的內容
InputStream is=connection.getInputStream();//獲取內容的位元組流
InputStreamReader isr=new InputStreamReader(is,"utf-8");//將位元組流包裝為字串流,並制定編碼格式為utf-8
BufferedReader in=new BufferedReader(isr);//建立一個例項用來存放轉換後的字元
String line;//定義一個字串型別變數
StringBuilder builder=new StringBuilder();//建立例項
String filePath = "F:\\CloudMusic\\quyuquan2014.txt";//定義檔案的地址
while((line = in.readLine()) != null){
builder.append(line+"\n");//append方法使builder包含line中的所有資訊
}
in.close();//關閉流
isr.close();//關閉流
is.close();//關閉流
FileWriter writer = null;//初始化
writer = new FileWriter(new File(filePath), true);
writer.write(builder.toString());//這裡必須用到tostring
}
catch(IOException e){
e.printStackTrace();
}
}
}
結論
首先,我們在這裡就現在F盤網易雲音樂中建立一個.txt檔案。 然後我們只需要定義一下檔案的地址,並且將裝載了伺服器的HTML原始檔builder寫入到檔案即可。
這裡唯一讓注意的是再寫入檔案內容的時候,因為我們之前用的是 StringBuilder 所以 就不能用writer.writer(builder). 我之前用的話立馬報錯 說String Builder不支援這樣的型別 故需要加上toString 才可以執行。這點需要參考到StringBuilder的具體用法。這裡寫連結內容