java – 将ZipEntry写入文件的最可读方式?

前端之家收集整理的这篇文章主要介绍了java – 将ZipEntry写入文件的最可读方式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

给定ZipFile zip,其ZipEntry条目和目标File unzippedEntryFile,写入unzippedEntryFile的条目最可读的方式是什么?

我想出了使用Google GuavaApache.Commons.IO的以下解决方案:

InputSupplierIoUtils.toByteArray(zip.getInputStream(entry)));
Files.copy(entryInputSupplier,unzippedEntryFile);

但是,有些东西告诉我它可以变得更简单.

谢谢,
康拉德

最佳答案
除了你有很多嵌套调用之外,我不知道你的代码有什么不可读性.这些可以分解并分配给局部变量,这将使代码更长(但在我看来,更具可读性).

您似乎正在处理数据两次 – 一次将其读入字节数组并再次将其复制到文件中.我没有对此进行测试,但它应该可以工作并将数据量减少一半:

final InputStream zipStream = zip.getInputStream(entry);
InputSupplier

实际上,您可以创建自己的实现InputSuppler< InputStream>的小类.我很惊讶我在番石榴图书馆里找不到一个. (显然,others have been surprised at this as well.)

原文链接:https://www.f2er.com/java/438223.html

猜你在找的Java相关文章