import java.net.*;
import java.io.*;
public class URLConnDemo
{
public static void main(String [] args)
{
try
{
URL url = new URL("http://www.xxx.com");
URLConnection urlConnection = url.openConnection();
HttpURLConnection connection = null;
if(urlConnection instanceof HttpURLConnection)
{
connection = (HttpURLConnection) urlConnection;
}
else
{
System.out.println("请输入 URL 地址");
return;
}
BufferedReader in = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String urlString = "";
String current;
while((current = in.readLine()) != null)
{
urlString += current;
}
System.out.println(urlString);
}catch(IOException e)
{
e.printStackTrace();
}
}
}
從這段程式碼來看,請求一個url並把內容讀取出來顯示,但是為什麼這裡用到getInputStream,應該不是getOutStream 輸出嗎?
InputStream 是用來讀取的,OutputStream 是用來寫入的;換句話說,輸入流是指輸入到系統中的流,系統從這個流中讀取內容;輸出流是指從系統輸出的流,系統往這個流中寫入內容。這個取名方式是站在使用者的角度,而不是 Stream 物件的角度。用過幾次就習慣了。