请问如何用NIO把网络上的文件读到本地一个文件中?

解决方案 »

  1.   

    昨天晚上刚用java.net实现了一个,你可以参考一下直接可以执行,昨天用这段代码快把那个网站的flash当空了。for (int i = 1; i <= 174; i++) {
                String fileNum="";
                if(i<10){
                    fileNum = "000"+i;
                }else if(i>=10 && i<100){
                    fileNum="00"+i;
                }else if(i>=100){
                    fileNum="0"+i;
                }
                URL url = new URL(
                        "http://www.mp88.com/2005ssrbc/game/minjie/"+fileNum+".swf");
                URLConnection conn = url.openConnection();            BufferedInputStream in = new BufferedInputStream(conn.
                        getInputStream());
                OutputStream out = new FileOutputStream(new File("G:\\flash\\minjie\\"+fileNum+".swf"));
                int n = 0;
                byte[] bytes = new byte[1024];
                while ((n = in.read(bytes)) != -1) {
                    out.write(bytes, 0, n);
                }
                out.close();
                in.close();
            }
      

  2.   

    谢谢 funcreal(为中华之崛起而编程),可能我的文件太大了,3.62g,最后发生错误:Connection Reset,请高手指点阿
      

  3.   

    还是用断点续传吧
    用nio也一样出错。太多了。
    再说老的io也用新的重写过了
      

  4.   

    我用断点续传也出错,因为程序是在tomcat每小时运行一次,有时候下载的很慢,几个小时下载了几百k,但是一重启tomcat,就是很快,就是说不稳定阿,真郁闷