0

我是 java 新手.....我在 zip 文件夹中有 3 个文件,我正在使用它来提取它

String command = "cmd /c start cmd.exe /K \"jar -xvf record.zip\"";
     Process ps= Runtime.getRuntime().exec(command);

在使用 jar -xvf 提取这些文件后,我需要将 record.zip 中存在的所有三个文件存储到一个字符串中

BufferedReader br=new BufferedReader(new InputStreamReader(ps.getInputStream())); 
     String temp = br.readLine();
     while( temp != null ) { //!temp.equals(null)) {
         output.write(temp);
         temp = br.readLine();
         }
         output.close();

我试过这段代码,但它没有给我想要的结果....提前谢谢....

4

1 回答 1

0

您可以使用 JDK 中已有的功能来读取 zip 文件,例如,这会将 zip 中所有文件的内容逐行打印到控制台:

public static void main(String[] args) throws ZipException, IOException {
    final File file = new File("myZipFile.zip");
    final ZipFile zipFile = new ZipFile(file);
    final Enumeration<? extends ZipEntry> entries = zipFile.entries();
    while (entries.hasMoreElements()) {
        final ZipEntry entry = entries.nextElement();
        System.out.println(entry);
        if (!entry.isDirectory()) {
            final BufferedReader reader = new BufferedReader(new InputStreamReader(zipFile.getInputStream(entry)));
            for (String line = reader.readLine(); line != null; line = reader.readLine()) {
                System.out.println(line);
            }
        }
    }
    zipFile.close();
}
于 2013-03-18T17:43:19.813 回答