URL操作:
(1)基本概念
URL类中的openConnection方法可以建立连接,返回URLConnection对象
URLConnection类用于程序和URL之间的通信链接,此类的实例可以用于读写此URL引用的资源,此类中的方法connet用于打开到此URL引用的资源的通信连接,setDoInput设置为true时,表示使用url进行输入
HttpURLConnetion类继承自URLConnection,支持HTTP特定功能的URLConnection
(2)读取一个URL连接中的内容步骤:
URL url = new URL("http://files.saas.hand-china.com/java/target.pdf");
InputStream is = url.openStream();
BufferedInputStream bis = new BufferedInputStream(is);
FileOutputStream fos = new FileOutputStream(new File("target.pdf"));
BufferedOutputStream bos=new BufferedOutputStream(fos);
byte buf[]=new byte[1024];
int len;
while((len= bis.read(buf)) != -1){
bos.write(buf,0,len);
System.out.println(new String(buf,0,len));
(3)实例
package com.hand;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
try {
URL url = new URL("http://files.saas.hand-china.com/java/target.pdf");
InputStream is = url.openStream();
BufferedInputStream bis = new BufferedInputStream(is);
FileOutputStream fos = new FileOutputStream(new File("target.pdf"));
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte buf[] = new byte[1024];
int len;
while((len=bis.read(buf)) != -1){
bos.write(buf, 0, len);
System.out.println(new String(buf, 0, len));
}
bos.close();
fos.close();
bis.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}