5 java url networking urlconnection
众所周知,这两个代码都会产生相同的结果
public class MainApp {
public static void main(String[] args) throws IOException {
URL google = new URL("http://www.google.com");
google.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(google.openStream()));
reader.lines().forEach(System.out::println);
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class MainApp {
public static void main(String[] args) throws IOException {
URL google = new URL("http://www.google.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(google.openStream()));
reader.lines().forEach(System.out::println);
}
}
Run Code Online (Sandbox Code Playgroud)
那么使用的重点是什么 google.openConnection()?
可能 javadoc 对于此方法有帮助:
public java.net.URLConnection openConnection() throws java.io.IOException返回一个
URLConnection实例,该实例表示与 所引用的远程对象的连接URL。URLConnection每次调用URLStreamHandler.openConnection(URL)此 URL 的协议处理程序的方法时都会创建一个新实例。应该注意的是,
URLConnection实例在创建时并不建立实际的网络连接。仅当调用 时才会发生这种情况URLConnection.connect()。如果对于
URL的协议(例如 HTTP 或 JAR),存在URLConnection属于以下包之一或其子包之一的公共专用子类:java.lang、java.io、java.util、java.net,则返回的连接将属于该子类。例如,对于 HTTP,HttpURLConnection将返回 a,对于 JAR,JarURLConnection将返回 a。
如果您想向连接添加一些特定的连接属性,请使用此选项。
例如:
URLConnection urlConnection = google.openConnection();
urlConnection.setReadTimeout(1000);
urlConnection.setConnectTimeout(1000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |