java里很多实现同样功能的代码都可以重用,下面的是一个连接网络经常会用到的代码段,在需要的时候直接拷贝,只需要换个地址即可,非常方便。
废话不说了,看代码。
package com.date.utlit;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class DateCal {
/**
* @param args
*/
public static void main(String[] args) {
try {
URL url = new URL("http://www.baidu.com");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
InputStream in = null;
in = url.openStream();
String content = pipe(in,"utf-8");
System.out.println(content);
} catch (Exception e) {
e.printStackTrace();
}
}
static String pipe(InputStream in,String charset) throws IOException {
StringBuffer s = new StringBuffer();
if(charset==null||"".equals(charset)){
charset="utf-8";
}
String rLine = null;
BufferedReader bReader = new BufferedReader(new InputStreamReader(in,charset));
PrintWriter pw = null;
FileOutputStream fo = new FileOutputStream("../index.html");
OutputStreamWriter writer = new OutputStreamWriter(fo, "utf-8");
pw = new PrintWriter(writer);
while ( (rLine = bReader.readLine()) != null) {
String tmp_rLine = rLine;
int str_len = tmp_rLine.length();
if (str_len > 0) {
s.append(tmp_rLine);
pw.println(tmp_rLine);
pw.flush();
}
tmp_rLine = null;
}
in.close();
pw.close();
return s.toString();
}
}