因工作需要必须写个程序自动从特定的网址抓取一个文件下来,而此文件需根据url传递的参数动态生成文件名及其内容,这样的情况如果编写程序?
譬如:
url地址为:http://www.mycompany.com/getfile.php?downdate=20100502
在IE中输入以上地址后的结果是弹出下载的窗口,要求保存文件 BussData_20100502.xls
其中参数值20100502是可变的。
如上所述不知道如何编写代码,望各位路过的帮忙出出思路或者有代码更好,这里先谢过了!

解决方案 »

  1.   

    你程序里肯定能取到这个url  http://www.mycompany.com/getfile.php?downdate=20100502
    的值,既然能取到值,传的参数也就知道了啊,那文件名就是BussData_+参数.xls
      

  2.   

    URL url = new URL("自己组装地址");
    InputStream is = url.openConnection().getInputStream();//访问后返回的结果
    is.read(buffer) 然后将buffer写出到文件.基本的流操作.前提是那个下载地址不需要用户名密码之类的。否则还得在请求的时候附加用户信息
      

  3.   

    我的下载都是这样的:
    下载的,做个servlet下载文件Download.servlet,处理传过来的参数downdate=20100502,下载的链接:
    <a href="/branch/Download?filename=****" alt="">
      

  4.   

    先上代码再说,不管对不对
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String line = br.readLine();
            while (!line.equals("exit")) {
                URL url = new URL(
                        "http://www.mycompany.com/getfile.php?downdate=20100502?downdate="
                                + line);
                InputStream is = url.openConnection().getInputStream();
                byte[] array = new byte[is.available()];
                is.read(array);
                is.close();
                FileOutputStream fosr = new FileOutputStream("BussData_" + line
                        + ".xls");
                fosr.write(array);
                fosr.close();
                line = br.readLine();
            }
            br.close();
        }
      

  5.   

    就是这个,用Java流可以实现。楼主试试,我没做过,应该可以