无法在unix服务器

时间:2015-07-06 14:30:09

标签: java unix servlets centos

我在unix服务器上托管了我的java Web应用程序,文件在上下文路径中生成,压缩并下载到客户端。一旦我在Windows服务器中托管应用程序但在Centos中没有托管应用程序,我的代码就可以工作了。可能是什么问题?

我的拉链方法:

private byte[] zipFiles(File directory, String[] files) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ZipOutputStream zos = new ZipOutputStream(baos);
        byte bytes[] = new byte[2048];

        for (String fileName : files) {
            FileInputStream fis = new FileInputStream(directory.getPath()
                    + crbServlet.FILE_SEPARATOR + fileName);
            BufferedInputStream bis = new BufferedInputStream(fis);

            zos.putNextEntry(new ZipEntry(fileName));

            int bytesRead;
            while ((bytesRead = bis.read(bytes)) != -1) {
                zos.write(bytes, 0, bytesRead);
            }
            zos.closeEntry();
            bis.close();
            fis.close();
        }
        zos.flush();
        baos.flush();
        zos.close();
        baos.close();

        return baos.toByteArray();
    }

我的servlet Extract:

String[] files = f.list();
                    if (files != null && files.length > 0) {
                        byte[] zip = zipFiles(f, files);
                        ServletOutputStream sos = response.getOutputStream();
                        response.setContentType("application/zip");
                        response.setHeader("Content-Disposition", "attachment; filename=\"datafiles" + dt.getCurrentDate() + ".zip\"");
                        sos.write(zip);
                        sos.flush();
                    }

我在客户端下载的是具有垃圾字符的do文件。这是什么问题?

0 个答案:

没有答案