草庐IT

zip_iterator

全部标签

java - 用Java解压缩内存中的ZIP文件

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visitthehelpcenter.8年前关闭。我正在下载包含XML的压缩文件,并且由于延迟要求,我想避免在操作它们之前将zip文件写入磁盘。然而,java.util.zip对我来说不够。没有办法说“这是一个zip文件的字节数组,请使用它”而不将其转换为流,并且ZipInputStream不可靠,因为它会扫描条目header(请参阅下面的讨论,了解为什么不可靠的原因EDIT)。我还无法访问我将要处理的zip文件,所以我不知道我是否能够通过Zip

java - 在内存中创建一个 Zip 文件

我正在尝试压缩文件(例如foo.csv)并将其上传到服务器。我有一个工作版本,它创建一个本地副本,然后删除本地副本。我将如何压缩一个文件,这样我就可以在不写入硬盘驱动器的情况下发送它并且完全在内存中执行它? 最佳答案 使用ByteArrayOutputStream与ZipOutputStream完成任务。您可以使用ZipEntry指定文件要包含在zip文件中。这里是使用上述类的一个例子,Strings="helloworld";ByteArrayOutputStreambaos=newByteArrayOutputStream();

java - 使用 java.util.zip.ZipOutputStream 时 zip 文件中的目录

假设我有一个文件t.txt、一个目录t和另一个文件t/t2.txt。如果我使用linuxzip实用程序“zip-rt.zipt.txtt”,我会得到一个zip文件,其中包含以下条目(unzip-lt.zip):Archive:t.zipLengthDateTimeName--------------------904-11-0909:11t.txt004-11-0909:12t/1504-11-0909:12t/t2.txt---------------243files如果我尝试使用java.util.zip.ZipOutputStream复制该行为并为目录创建一个zip条目,java

java - FindBugs 警告 : Inefficient use of keySet iterator instead of entrySet iterator

请引用以下方法:publicSetgetCellsInColumn(StringcolumnIndex){MapcellsMap=getCellsMap();Setcells=newHashSet();SetkeySet=cellsMap.keySet();for(Stringkey:keySet){if(key.startsWith(columnIndex)){cells.add(cellsMap.get(key));}}returncells;}FindBugs发出警告信息:"InefficientuseofkeySetiteratorinsteadofentrySetiterat

java - 关闭 java.util.Iterator

我使用一个资源实现了一个自定义java.util.Iterator,该资源应该在最后使用close()方法释放。该资源可以是java.sql.ResultSet、java.io.InputStream等...publicinterfaceCloseableIteratorextendsIterator{publicvoidclose();}一些使用这个迭代器的外部库可能不知道它必须被关闭。例如:publicbooleanisEmpty(Iterablemyiterable){returnmyiterable.iterator().hasNext();}那么,有没有办法关闭这个迭代器?更

Java:如何从字符串中获取 Iterator<Character>

这个问题在这里已经有了答案:Whatistheeasiest/best/mostcorrectwaytoiteratethroughthecharactersofastringinJava?(16个答案)关闭4年前。我需要一个Iterator来自String目的。Java中是否有任何可用函数可以为我提供此功能,还是我必须自己编写代码? 最佳答案 一种选择是使用Guava:ImmutableListchars=Lists.charactersOf(someString);UnmodifiableListIteratoriter=cha

java - Iterable 接口(interface)是做什么用的?

我是初学者,无法理解Iterable接口(interface)的真正效果。 最佳答案 除了Jeremy所说的之外,它的主要好处是它有自己的一点语法糖:enhancedfor-loop.如果你有一个Iterable,你可以这样做:for(Stringstr:myIterable){...}很好很容易,不是吗?创建Iterator的所有肮脏工作,检查是否hasNext(),并调用str=getNext()由编译器在后台处理。而且由于大多数集合要么实现Iterable或者有一个返回一个的View(例如Map的keySet()或values

java - 在 Guava 中展平一个 Iterable<Iterable<T>>

有没有flattenGuava中的方法-或转换Iterable>的简单方法到Iterable?我有一个Multimap[sourceMultimap]我想返回键匹配某个谓词[keyPredicate]的所有值。所以目前我有:Iterable>vals=Maps.filterKeys(sourceMultimap.asMap(),keyPredicate).values();CollectionretColl=...;for(Collectionvs:vals)retColl.addAll(vs);returnretColl;我查看了Guava文档,但没有任何内容。我只是在检查我没有错过

java - java.lang.IllegalArgumentException : No enum const class even though iterating through values() works just fine? 的原因是什么

这个问题基本上是我的previousquestion的延伸。.我问了上一个问题,以确保在类加载时填充Enum常量。这是我的类(class),添加了一个简单的方法getByName:publicenumPropName{CONTENTS("contents"),USE_QUOTES("useQuotes"),ONKEYDOWN("onkeydown"),BROWSER_ENTIRE_TABLE("browseEntireTable"),COLUMN_HEADINGS("columnHeadings"),PAGE_SIZE("pageSize"),POPUP_TITLE("popupTit

java - 在 Java 中 : How to zip file from byte[] array?

我的应用程序正在通过SMTP服务器接收电子邮件。电子邮件中有一个或多个附件,并且电子邮件附件返回为byte[](使用sunjavamailapi)。我正在尝试即时压缩附件文件而不先将它们写入磁盘。什么是/是可能的方式来实现这一结果? 最佳答案 您可以使用Java的java.util.zip.ZipOutputStream在内存中创建一个zip文件。例如:publicstaticbyte[]zipBytes(Stringfilename,byte[]input)throwsIOException{ByteArrayOutputStre