package com.ming.url;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
public class URLDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
// 根据网址构造URL对象
URL url=new URL(
"http://image.baidu.com/detail/newindex?col=美女&tag=全部&pn=57&pid=11566540760&aid=401433457&user_id=790215689&setid=-1&sort=0&newsPn=&fr=&from=1");
System.out.println("主机名:"+url.getHost());
System.out.println("资源路径:"+url.getPath());
System.out.println("端口号:"+url.getPort());
System.out.println("协议:"+url.getProtocol());
// 通过URL打开连接
URLConnection conn=url.openConnection();
//截取文件名
String filename=url.getPath().substring(url.getPath().lastIndexOf("/"));
// 获取连接的输入流对象
BufferedInputStream bis=new BufferedInputStream(conn.getInputStream());
// 构造文件输出流对象
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("F:\\"));
byte[] bytes=new byte[1024*10];
int len=-1;
while((len=bis.read(bytes))!=-1){
bos.write(bytes,0,len);
bos.flush();
}
bos.close();
bis.close();
System.out.println("下载完成!");
}
}
麻烦大神修改下,我截取的文件名如何加上去,不用我自己在建一文件名,而且视屏上可以直接输出到盘符下的,这是为什么?
追答你就在BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("F:\\"+"download.txt"));//只需要在这行加上文件名就可以了(随便加)。那我不知道你那视频,我就不不知道什么原因了
可是我就是想吧图片下到F盘下的,如果指定文件名就会提示拒绝访问