快速的读取到zip包中字符串,有另外一中方式。不过对较大的zip包读取速度超慢。这个方法只要你只是针对确定zip包中的某个文件读取的话绝对不会超过1秒,Enumeration 读取zip包中目录结构很快,定位字节流也很快。
ZipEntry entry ; //得到zip包中文件
ZipFile zf = new ZipFile("d:\\a.zip");
Enumeration enu=zf.entries();
while(enu.hasMoreElements()){
entry=(ZipEntry)enu.nextElement();
if(entry.getName().indexOf("/")>0){
continue;
}
if(!entry.isDirectory()){ //找到文本文件,转换字字节流
if(entry.getName().toLowerCase().equals("paramdefine.json")){ InputStream is = zf.getInputStream(entry);
int len = 0;
byte[] b = new byte[1024];
while ((len = is.read(b)) != -1) { //字节流输入
String str = new String(b,0,len,"gb2312");
}
break;
}
}
}
分享到:
相关推荐
`ZipInputStream`可以从输入流中读取ZIP格式的数据,而`ZipOutputStream`则可以将数据写入ZIP格式的输出流。 首先,我们来看一下提供的代码示例。在这个例子中,有一个名为`ZipCopyTest`的类,它包含一个主方法`...
`getResourceAsStream()`则返回一个InputStream,可以直接读取字节流。它们都可以用来获取JAR或WAR内的资源。 3. **类路径和归档结构**: 了解Java类路径(ClassPath)的概念,以及JAR和WAR的内部结构对于找到正确的...
这通常通过`ZipInputStream.read()`方法完成,该方法会读取ZIP条目的字节并写入输出流。 5. **关闭条目和流**:每处理完一个条目,记得调用`closeEntry()`关闭条目,最后关闭`ZipInputStream`和`FileOutputStream`。...
- 将文件转换为字节流,写入到请求体中。 - 发送请求并处理响应,确保文件上传成功。 3. **异常处理**: - 在整个过程中,必须捕获并处理可能出现的异常,例如文件未找到、网络问题、权限问题等。确保程序的健壮...
2. **读取`ZipEntry`**:使用`ZipInputStream`的`getNextEntry()`方法逐个读取ZIP条目(即文件或目录)。 3. **创建目标文件或目录**:根据`ZipEntry`的名称创建对应的目标文件或目录。如果是文件,使用`...
值得注意的是,Java的Socket传输默认基于字节流,对于大文件可能会效率较低,因为它需要多次读写操作。为提高性能,可以考虑使用`java.nio`包中的`FileChannel`进行内存映射文件传输,或者使用第三方库如Apache ...
在Java中,我们可以使用java.util.zip包中的ZipOutputStream和ZipInputStream类来对Zip文件进行压缩和解压缩操作。 **压缩Zip文件:** 要压缩一组文件到一个Zip文件,我们需要创建一个ZipOutputStream实例,然后...
总的来说,使用Java读取和处理ArcGIS切片包数据涉及到对二进制文件的解析、图像数据的读取和解码,以及可能的3D场景构建。这是一个综合性的任务,需要对Java的I/O操作、图像处理以及可能的3D编程有深入的理解。通过...
总的来说,通过Java读取文件头内容判断文件类型是一种实用的技术,尤其在处理未知或不安全的文件时。理解并掌握这个方法,能够帮助我们在实际开发中更好地处理各种文件操作,提高程序的健壮性和安全性。
它是一个实现了字节输入流的类,可以从一个输入流中读取ZIP文件的内容。创建`ZipInputStream`对象时,你需要传入一个`InputStream`,通常是表示ZIP文件的文件输入流。这样,你可以逐个读取压缩包内的每个条目(即`...
要实现文件切割,可以先设定每个小文件的大小,然后使用循环读取原始文件的字节流,每次读取一块并写入新的文件。这需要精确控制读写位置和字节数。 4. RandomAccessFile: 如果需要在文件中随机访问和写入,`...
Java IO中的字节流类主要分为两大类:`InputStream`和`OutputStream`。它们是所有字节流类的基类,其他具体子类都直接或间接地继承自这两个类。 - **InputStream 类** - `ByteArrayInputStream`: 提供了一个从...
通过向这个流写入字节,我们可以将多个文件或目录打包到一个ZIP文件中。首先,我们需要创建一个`FileInputStream`对象读取要压缩的文件,然后用`ZipEntry`表示每个要添加到ZIP文件的条目,最后用`ZipOutputStream`...
本实例源码提供了使用Java实现Zip压缩多个文件的方法。Zip是一种广泛使用的文件格式,它允许将多个文件打包成一个单一的压缩文件,方便传输和存储。 Java中的`java.util.zip`包提供了对Zip文件格式的支持。以下是...
总的来说,"基于java的存储与读取对象.zip"这个主题涵盖了Java编程中的核心概念,包括对象序列化、文件操作、网络通信以及错误处理等,这些都是Java开发者必备的技能。学习并掌握这些知识,将有助于构建稳定、高效的...
我们将主要探讨Java中的文件流读写技术,这是实现这个系统的关键部分。 首先,让我们了解一下Java中的I/O(输入/输出)系统。Java提供了丰富的API来处理各种类型的I/O操作,包括文件读写。核心的类位于`java.io`...
2. **Java档案和压缩API**:Java标准库提供了处理归档和压缩的类,如java.util.zip包中的ZipOutputStream和ZipInputStream,用于创建和读取ZIP格式的压缩文件。这些类使用了Deflater和Inflater来实现GZIP压缩算法,...
在处理文件归档时,Java.util.zip包提供了一系列类,如ZipOutputStream和ZipInputStream,用于创建和读取ZIP文件。以下是如何使用ZipOutputStream创建ZIP归档的基本示例: ```java File dirToZip = new File(...
在Java中,IO流分为字符流和字节流两大类,每类又分别有输入流和输出流四种类型,形成了一个庞大的类层次结构。 字符流主要涉及`java.io.Reader`和`java.io.Writer`这两个抽象基类,它们用于处理字符数据。Reader类...
例如,`FileInputStream`可以用来读取文件的原始字节,而`BufferedInputStream`或`DataInputStream`则可以帮助我们以更有效的方式处理这些字节流。 以下是实现这个功能的基本步骤: 1. **打开文件输入流**:使用`...