java 文件流的處理 文件打包成zip


1、下載文件到本地

public void download(HttpServletResponse response){
    String filePath ="";//文件路徑
    String fileName ="";//文件名稱
    // 讀到流中
    InputStream inStream = new FileInputStream(filePath);
    // 設置輸出的格式
    response.reset();
     response.setContentType("bin");
     response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
     IOUtils.copy(inStream, response.getOutputStream());
}

2、java后端下載

方式一:
new URL(fileUrl + item.getcBhFileserver()).openStream()

方法二:
    public Boolean addFile(String url, String id, String fileName) {

        RequestCallback requestCallBack = new RequestCallback() {

            @Override
            public void doWithRequest(ClientHttpRequest request) throws IOException {
                request.getHeaders().add("accept", MediaType.APPLICATION_OCTET_STREAM_VALUE);
            }
        };

        ResponseExtractor<Boolean> responseExtractor = new ResponseExtractor<Boolean>() {

            @Override
            public Boolean extractData(ClientHttpResponse response) throws IOException {
                if (response.getStatusCode() == HttpStatus.OK) {
                    //得到文件流
                    InputStream input = response.getBody();
                    return true;
                }
                return false;
            }
        };
        return restTemplate.execute(url, HttpMethod.GET, requestCallBack, responseExtractor, id);
    }

 

3、文件打包成zip

public void zipFilesAll() throws Exception {
        String zipPath = "";//zip包路徑
        String zipFileName = "";//zip包名稱
        File zipFile = new File(zipFileName .toString());

        // 創建 FileOutputStream 對象
        FileOutputStream fileOutputStream = null;
        // 創建 ZipOutputStream
        ZipOutputStream zipOutputStream = null;
        try {
            //創建文件夾
            zipFile = new File(zipPath );
            FileUtils.forceMkdir(zipFile);

            //創建文件
            zipFile = new File(zipFileName .toString());
            if (!zipFile.exists()) {
                zipFile.createNewFile();
            }

            // 實例化 FileOutputStream 對象
            fileOutputStream = new FileOutputStream(zipFileName.toString());
            // 實例化 ZipOutputStream 對象
            zipOutputStream = new ZipOutputStream(fileOutputStream);
            // 創建 ZipEntry 對象
            ZipEntry zipEntry = null;
            for (CL cl: ClList) {
                // 實例化 ZipEntry 對象,源文件數組中的當前文件
                zipEntry = new ZipEntry(tCltjjl.getcClmc() + ".zip");
                zipOutputStream.putNextEntry(zipEntry);
                IOUtils.copy(new FileInputStream(cl.getcPath(), zipOutputStream);
            }
        } catch (Exception e) {
            
        }finally{
             //記得刪除文件
        }
    }    

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM