首页 > 解决方案 > java中从URI和ZIP下载多个文件(pdf、excel、jso、txt)

问题描述

例如,我有多个 uri,例如:'''

    List<String> urls = new ArrayList<>();
    urls.add("https://blabla/Sample.txt");
    urls.add("https://blabla/xyz.pdf");

''' 所以我需要将这些文件下载为输入流并将它们压缩到一个文件中。

'''

    File file = File.createTempFile("output",".zip");
   try(FileOutputStream fos=new FileOutputStream(file)){
      try(ZipOutputStream zos=new ZipOutputStream(fos)){
         for(String url:urls){
            try(InputStream is=new URL(url).openStream()){
               ZipEntry ze= new ZipEntry(getFileName(url));
               zos.putNextEntry(ze);
               byte[] bytes=new byte[1024];
               int length;
               while((length=is.read(bytes))>=0){
                  zos.write(bytes,0,length);
               }
            }
         }
      }
    }

'''

但我得到一个 java.io.IOException: Server returned HTTP response code 409 for url 。

标签: javadownloadstreamzip

解决方案


推荐阅读