先说问题:我这有个下载网络文件的程序,我要下载的是外网服务器上面的文件,给一个路径,但是只能下载那种能在网页上面打开的文件 , 如果把这个路径输入到浏览器里面弹出的是个选择框,这样的文件就不能下载,有谁帮我看看怎么解决,
贴代码:import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;public class D2 {
public static void downloadNet() throws MalformedURLException {
// 下载网络文件
int bytesum = 0 ;
int byteread = 0 ; //URL url = new URL( "http://levphon.vicp.cc:8081/sdps/download_temp/datactrl/一位高人的QTP学习笔记.doc" );
URL url = new URL( "http://levphon.vicp.cc:8081/sdps/download_temp/datactrl/012.jpg" ); try {
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
//FileOutputStream fs = new FileOutputStream( "E://一位高人的QTP学习笔记.doc" );
FileOutputStream fs = new FileOutputStream( "E://012.jpg" ); byte [] buffer = new byte [ 1204*1000 ];
while ((byteread = inStream.read(buffer)) != - 1 ) {
bytesum += byteread;
System.out.println(bytesum);
fs.write(buffer, 0 , byteread);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws MalformedURLException {
D2.downloadNet();
}
}
如上: jpg文件可以成功下载 ,
doc文件就是不行,而且跑出异常如下:
java.net.ProtocolException: Server redirected too many times (20)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1253)
at com.gzpia.webservice.serviceAms.test.D2.downloadNet(D2.java:22)
at com.gzpia.webservice.serviceAms.test.D2.main(D2.java:39)
谁帮忙解决一下哈 , 万分感谢。
贴代码:import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;public class D2 {
public static void downloadNet() throws MalformedURLException {
// 下载网络文件
int bytesum = 0 ;
int byteread = 0 ; //URL url = new URL( "http://levphon.vicp.cc:8081/sdps/download_temp/datactrl/一位高人的QTP学习笔记.doc" );
URL url = new URL( "http://levphon.vicp.cc:8081/sdps/download_temp/datactrl/012.jpg" ); try {
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
//FileOutputStream fs = new FileOutputStream( "E://一位高人的QTP学习笔记.doc" );
FileOutputStream fs = new FileOutputStream( "E://012.jpg" ); byte [] buffer = new byte [ 1204*1000 ];
while ((byteread = inStream.read(buffer)) != - 1 ) {
bytesum += byteread;
System.out.println(bytesum);
fs.write(buffer, 0 , byteread);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws MalformedURLException {
D2.downloadNet();
}
}
如上: jpg文件可以成功下载 ,
doc文件就是不行,而且跑出异常如下:
java.net.ProtocolException: Server redirected too many times (20)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1253)
at com.gzpia.webservice.serviceAms.test.D2.downloadNet(D2.java:22)
at com.gzpia.webservice.serviceAms.test.D2.main(D2.java:39)
谁帮忙解决一下哈 , 万分感谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货