在我的程序中,我生成了多个 CSV 文件,我想将它们作为一个 .zip 文件发布在网页上。为此,我想在服务器上使用 Java 1.6。
目前,我可以毫无问题地创建 .csv 文件。现在我想写入 BufferedWriter 的内容,我用它来创建 csv 文件,直接写入 Zip 文件(不存储 csv 文件)。
我找到了一些教程,例如 Creating zip archive in Java和 http://www.mkyong.com/java/how-to-compress-files-in-zip-format/我想在我的应用程序中做或多或少相同的事情,但我不喜欢字节数组。
我可以避免这种字节数组吗?
最佳答案
您可以使用 Java 中的新 IO 包来处理 Zip 文件。
Zip File System Provider从 Java 7 开始提供。
Map<String, String> env = new HashMap<>();
env.put("create", "true");
// locate file system by using the syntax
// defined in java.net.JarURLConnection
URI uri = URI.create("jar:file:/codeSamples/zipfs/zipfstest.zip");
try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) {
Path externalTxtFile = Paths.get("/codeSamples/zipfs/SomeTextFile.txt");
Path pathInZipfile = zipfs.getPath("/SomeTextFile.txt");
// copy a file into the zip file
Files.copy( externalTxtFile,pathInZipfile,
StandardCopyOption.REPLACE_EXISTING );
}
关于java - 在 java 中创建 Zip 文件而不使用 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360624/