如何保存远程文件到本机?我的为什么不能保存大文件?谢谢
想要根据文件地址保存远程文件到本机,但一保存超过30k的文件就会有损坏,为什么?怎么解决?
代码如下:
<%@ page import="java.io.*"%>
<%@ page import="java.io.Writer"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.Properties"%>
<%
System.out.println("start");
//?程文件路径
String s1 = "http://news.xinhuanet.com/photo/2006-06/05/xinsrc_26206030515427031430915.jpg";
//本地存放路径
String s2 = "D:\\mili\\"+System.currentTimeMillis()+".jpg";
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File f = new File(s2);
try{
urlfile = new URL(s1);
httpUrl = (HttpURLConnection)urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
}catch(Exception e){
System.out.println(e.toString());
}
try{
bos = new BufferedOutputStream(new FileOutputStream(f));;
byte[] b = new byte[4096];
while(bis.read(b)!=-1) {
bos.write(b);
}
}catch(Exception e){
System.out.println(e.toString());
}finally{
try{
bos.flush();
bis.close();
httpUrl.disconnect();
System.out.println("program completed");
}catch(Exception e){
System.out.println(e.toString());
}
}
%>