java - 使用zipInputStream从服务器下载ZipFile

java - 使用zipInputStream从服务器下载ZipFile,第1张

我想从服务器中提取并保存传入的ZipFile。

此代码仅在一半的时间内有效。

InputStream is = socket.getInputStream();
zipStream = new ZipInputStream(new BufferedInputStream(is);

ZipEntry entry;
while ((entry = zipStream.getNextEntry()) != null) {
        String mapPaths = MAPFOLDER   entry.getName();
        Path path = Paths.get(mapPaths);
        if (Files.notExists(path)) {
            fileCreated = (new File(mapPaths)).mkdirs();
        }

        String outpath = mapPaths   "/"   entry.getName();
        FileOutputStream output = null;
        try {
            output = new FileOutputStream(outpath);
            int len = 0;
            while ((len = zipStream.read(buffer)) > 0) {
                output.write(buffer, 0, len);
            }
        } finally {
            if (output != null)
                output.close();
        }
    }

我认为问题是,在传入数据之前调用zipStream.getNextEntry()方法,我该如何等待传入数据读取?

最佳答案:

0 个答案:

没有答案
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
U19学习网站 » java - 使用zipInputStream从服务器下载ZipFile