除了在網站右鍵另存爲保存網站源碼外,作爲一門無所不能的語言,java當然也能直接獲取網頁源碼,然後另存爲本地。
這裏使用的就是輸入輸出流。
直接將方法進行了封裝
代碼如下:
傳的三個參數分別爲:網站的URL,網站的編碼類型(UTF-8或者gbk或者gb2312等等) 以及文件的另存路徑
public static boolean getHtmlByUrl(String u,String charset,String htmlPath) throws IOException{
boolean result = true;
try {
//通過url生成靜態頁面
URL url = new URL(u);
URLConnection connection = url.openConnection();
//javase ---->io net inputStream
//獲取輸入流
InputStream in = connection.getInputStream();
//Buffered緩存Reader Writer
BufferedReader reader = new BufferedReader(new InputStreamReader(in,charset));
StringBuffer sBuffer = new StringBuffer();
while(reader.ready()){
sBuffer.append(reader.readLine()+"\n");
//System.out.println(reader.readLine());
}
//關閉流
reader.close();
in.close();
File file = new File(htmlPath);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"gbk"));
writer.write(sBuffer.toString());
writer.close();
result = true;
} catch (MalformedURLException e) {
e.printStackTrace();
}
return result;
}
例如:
我要將www.baidu.com這個網站的源碼保存到我的本地磁盤D盤根目錄調用方法如下
getHtmlByUrl(“www.baidu.com”,”gbk”,”D:baidu.html”);
運行後便可在D盤根目錄下生成一個baidu.html的文件