如何用JAVA 实现浏览器的保存网页的功能

来源:百度知道 编辑:UC知道 时间:2024/06/27 15:10:20
下面代码是保存指定网页指定图片到本地,请问用JAVA怎么可以作出IE浏览器的页面另存为的效果,就是有一个文件夹,还有一个htm网页

URL as=new URL("http://www.163.com");
URLConnection aa=as.openConnection();
File f=new File("c:\\163.htm");

InputStream fiss=aa.getInputStream();
InputStreamReader iw=new InputStreamReader(fiss);
BufferedReader bd=new BufferedReader(iw);
FileOutputStream foss=new FileOutputStream(f);
OutputStreamWriter osw=new OutputStreamWriter(foss);
BufferedWriter bw=new BufferedWriter(osw);

byte[] n=new byte[1024];
String k=null;
while((k=bd.readLine())!=null)
{
bw.write(k);
}
上面的程序可以保存163.COM.htm文件,怎么写能把163主页网页文件分类存入不同的文件夹

比较复杂,自我感觉做不了。

网页文件包含着很多元素,比如说图片、flash、css、js这些玩意儿,而这些玩意儿的全部好像是很多的,只能用枚举一个一个来。如果你要做到把主页网页元素分类存入到不同文件夹的话,那要针对某一元素对象对其地址URL单独打开流然后写到文件去,这样就要靠正则匹配了吧。比如说对图片进行保存,那么就要通过匹配对<img>标签下的地址指向的文件进行单独保存了。而且还要注意排除在<!-- -->注释标签中的内容,同时也有一些例外也要排除,反正麻烦着涅。。

正常来讲这些文件就是通过浏览器对脚本的解析然后发出文件http请求的,原理和上面说的类似。至于java api里面有没有现成的包可用么,俺就不知道啦,没仔细每一个都看过哈~~