使用Scala在.zip文件夹中创建一个新文件

时间:2015-09-23 07:20:51

标签: java scala playframework zip

我有一个要求,我必须在.zip文件夹中创建1 xml文件。

请告诉我如何使用java / scala实现此目的?

另外让我知道我可以直接更新.zip文件夹数组[Byte]并为我的新xml文件添加额外的数组[Byte]吗?

1 个答案:

答案 0 :(得分:2)

如果您使用的是Java 7及更高版本,则应使用Zip File System

  

以下代码示例演示如何创建zip文件系统和   将文件复制到新的zip文件系统。

import java.util.*;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.*;

public class ZipFSPUser {
    public static void main(String [] args) throws Throwable {
        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 ); 
        } 
    }
}

这篇文章可以帮助您:Appending files to a zip file with Java