`
lippeng
  • 浏览: 455135 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java 输入流 解压 读取

阅读更多

一个文件,本来想从Server Down到本地来解析。但本地路径名中,可能会含有中文,而这里又不想写死。在找解决方法时,想到,Down的过程中,本身用的就是流,为什么不直接把流解压,然后解析呢?

 

所以,就有了下面的故事:

 

 

package com.lippeng.helloworld;

import java.io.IOException;
import java.net.URL;
import java.util.zip.ZipInputStream;

public class HelloWorld {

    public static void main(String[] args) {

	String path = "http://localhost:9090/dir/file.zip";

	path = path.replaceAll("\\\\", "/");// 如果端口号后面的路径中有\就需要转换了,在这里是废话一句

	ZipInputStream inputStream = null;
	try {
	    URL url = new URL(path);

	    inputStream = new ZipInputStream(url.openStream());// 通过URL拿到输入流,并转换成Zip输入流。装饰就是好啊。。。

	    inputStream.getNextEntry();// 这一句很重要。本例中,压缩包中只有一个文件。如果有多个,要多次执行这句话的。

	    byte[] b = new byte[1];
	    int count = inputStream.read(b);
	    while (count != -1) {
		// 在这里做想做的事情
		System.out.println(b);

		count = inputStream.read(b);
	    }

	} catch (Exception e) {
	    e.printStackTrace();
	} finally {
	    try {
		if (inputStream != null) {
		    inputStream.close();
		}
	    } catch (IOException e) {
		e.printStackTrace();
	    }
	}
    }
}
分享到:
评论

相关推荐

    详解Java无需解压直接读取Zip文件和文件内容

    Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...

    java输入输出流的简单例子

    这个简单的例子展示了Java输入输出流的基本用法,实际应用中,我们可以根据需求选择不同的流类型和操作方式,例如处理网络数据传输、内存缓冲、压缩解压等复杂场景。理解并熟练掌握Java的输入输出流,对于进行任何...

    java 源生压缩zip,rar 输入流输出流 下载

    - 输入流是Java I/O模型的一部分,用于从数据源读取数据。在本场景中,它可以从网络、文件系统或其他数据源读取原始数据。 5. **输出流(OutputStream)**: - 输出流则用于将数据写入目的地,例如网络连接或文件...

    java IO流读写

    - `InputStream` 和 `OutputStream` 是所有字节输入流和输出流的基类。它们提供了读取和写入字节数据的基本方法。 - `ByteArrayInputStream` 和 `ByteArrayOutputStream` 分别用于从字节数组读取和向字节数组写入...

    java实现批量解压带密码的 rar or zip 文件

    使用`java.util.zip`包中的`ZipInputStream`和`ZipEntry`类,可以读取并解压ZIP文件。以下是一个基本的解压流程: - 创建`ZipInputStream`实例,传入文件输入流。 - 循环遍历`ZipInputStream`的`ZipEntry`,获取...

    Java IO / 输入流 输出流

    在Java中,输入流(InputStream)和输出流(OutputStream)构成了IO体系的基础。输入流用于读取数据,而输出流则用于写入数据。它们都是抽象类,提供了基本的读写操作方法,但不能直接实例化,需要通过它们的子类来...

    java解压和压缩tar包

    1. 使用`TarUtil`类的静态方法`unTar()`,传入tar文件的输入流和解压目标目录的输出流。例如: ```java File tarFile = new File("path/to/tarfile.tar"); File destDir = new File("path/to/destination/directory...

    Java 1.7以上通用解压工具通用解压工具.rar

    1. **Java的I/O流**:Java中的I/O流是处理输入输出的基础,包括FileInputStream和FileOutputStream用于读写文件,BufferedInputStream和BufferedOutputStream提高读写效率,还有DataInputStream和DataOutputStream...

    java解压zip压缩文件

    `ZipInputStream`可以从一个输入流中读取ZIP文件内容,而`ZipEntry`则表示ZIP文件中的单个条目,即压缩的文件或目录。 以下是一个简单的解压ZIP文件的步骤: 1. **打开ZIP文件**:使用`FileInputStream`打开ZIP...

    java 中 zip压缩文件解压工具类

    `ZipInputStream`可以从输入流中读取ZIP文件的内容,而`ZipOutputStream`则允许我们将数据写入ZIP文件。 对于解压缩,`CompressFileUtils`工具类可能包含以下核心方法: ```java import java.io.*; import java....

    javaIO流知识大总结

    - **按流向分:**输入流(Input Stream)和输出流(Output Stream)。 - **按数据类型分:**字节流(Byte Stream)和字符流(Character Stream)。 - **按功能分:**节点流(直接与数据源连接)和处理流(增加...

    纯java代码读取apk文件

    1. `ZipInputStream`:用于读取ZIP文件流,可以从输入流中逐个获取ZIP条目。 2. `ZipEntry`:表示ZIP文件中的一个条目,可以获取条目的名称、大小、时间戳等信息。 3. `BufferedInputStream`和`BufferedOutputStream...

    JAVA处理FTP上的文件

    创建输入流,读取下载的ZIP或GZ文件,遍历每个条目并将其写入到本地目录。 4. **备份文件**: 备份文件通常意味着复制文件到另一个位置。在FTP中,这可以通过`storeFile()`方法实现,将本地文件上传到FTP服务器的...

    Java中的流与文件

    - **Java中的流根据方向可以分为输入流(Input Stream)和输出流(Output Stream)**: - 输入流用于从源读取数据。 - 输出流则用于向目的地写入数据。 #### 2. 文件流 - **文件流(File Stream)**:文件流是一种特殊...

    Java用GZIP压缩解压文件.rar

    一个Java随书实例:用GZIP压缩解压文件,从源文件得到文件输入流,得到目标文件输出流,得到压缩输出流,设定读入缓冲区尺寸,弹出文件选择器,并判断是否点击了打开按钮,判断事件来自于哪个按钮,用于选择解压和...

    java压缩+解压GZ(Linux)文件.rar

    当从GZ文件中读取数据时,你需要将输入流包装在GZIPInputStream中。如下所示: ```java FileInputStream fis = new FileInputStream("output.gz"); GZIPInputStream gis = new GZIPInputStream(fis); ...

    Java实现的带密码压缩与解压zip文件源码

    然后,我们可以创建一个输出流,将解压的条目数据写入目标位置。 5. **代码实现**:在`src`目录中,通常会包含Java源代码文件,如`ZipUtils.java`,其中包含了压缩和解压缩的静态方法。这些方法可能包括`...

    java实现的zip文件定时解压

    7. **资源管理**:解压完成后,记得关闭所有打开的输入流和输出流,以防止资源泄露。Java 7引入的try-with-resources语句可以简化这个过程。 实现上述功能的代码可能会较长,这里只能给出大致的流程。实际开发时,...

    java Swing 解压,替换,打包程序

    5. 关闭所有输入/输出流。 替换文件则涉及到读取源文件,修改内容后写入目标文件。这通常使用FileInputStream和FileOutputStream的组合实现,读取源文件,修改内容后,再写入目标文件。 打包程序通常是指将多个...

    java代码解压与压缩代码

    - 接着,读取输入流中的数据,并写入到`GZIPOutputStream`中进行压缩。 - 最后,关闭输入输出流,并完成压缩过程。 ### Java文件解压缩:GZIP格式 与压缩类似,解压缩也可以通过Java的`java.util.zip`包中的`...

Global site tag (gtag.js) - Google Analytics