java实现文件读写与压缩实例

Java实现文件读写与压缩实例

文件读取

Java中可以通过File类和FileInputStream类来实现文件读取。其中,File类用于表示文件对象,而FileInputStream类用于读文件的数据流。

下面是一个简单的文件读取的示例代码,读取指定路径下的txt文件:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileReader {
    public static void main(String[] args) {
        try {
            File file = new File("example.txt");
            FileInputStream fis = new FileInputStream(file);
            int length = fis.available();
            byte[] buffer = new byte[length];
            fis.read(buffer);
            System.out.println(new String(buffer));
            fis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先创建了一个File对象,然后通过这个对象创建了一个FileInputStream对象。接着,我们使用available()方法获取了文件的长度,然后创建了一个字节数组作为缓冲区。

最后,我们使用read(buffer)方法将文件的内容读取到缓冲区中,并使用String(byte[])构造函数将缓冲区中的字节转换为字符串,从而输出了文件的内容。

文件写入

Java中可以通过File类和FileOutputStream类来实现文件写入。其中,File类用于表示文件对象,而FileOutputStream类用于写文件的数据流。

下面是一个简单的文件写入的示例代码,将指定字符串写入到指定路径下的txt文件:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileWriter {
    public static void main(String[] args) {
        try {
            String content = "Hello, World!";
            File file = new File("example.txt");
            FileOutputStream fos = new FileOutputStream(file);
            fos.write(content.getBytes());
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先创建了一个字符串作为文件内容,然后创建了一个File对象,最后通过这个对象创建了一个FileOutputStream对象。

接着,我们使用write(byte[])方法将字符串的字节表示写入到文件中。

文件压缩

Java中可以通过ZipOutputStream类来实现文件压缩。ZipOutputStream类是OutputStream的一种子类,可以将数据压缩成ZIP格式。

下面是一个简单的文件压缩的示例代码,将指定路径下的两个txt文件压缩成一个zip文件:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class FileCompressor {
    public static void main(String[] args) {
        try {
            FileOutputStream fos = new FileOutputStream("example.zip");
            ZipOutputStream zos = new ZipOutputStream(fos);
            zipFile("example1.txt", zos);
            zipFile("example2.txt", zos);
            zos.closeEntry();
            zos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void zipFile(String fileName, ZipOutputStream zos) throws IOException {
        FileInputStream fis = new FileInputStream(fileName);
        ZipEntry zipEntry = new ZipEntry(fileName);
        zos.putNextEntry(zipEntry);
        byte[] bytes = new byte[1024];
        int length;
        while ((length = fis.read(bytes)) >= 0) {
            zos.write(bytes, 0, length);
        }
        fis.close();
    }
}

在这个例子中,我们首先创建了一个ZipOutputStream对象,并向其中写入两个文件。首先,我们调用了putNextEntry(ZipEntry)方法创建了一个ZipEntry对象,并将其作为参数传递给这个方法,表示我们要开始写入一个新的压缩文件。然后,我们读取文件的内容,并将其写入到压缩流中。

最后,我们再次调用了closeEntry()方法,表示该文件写入结束。最后,我们调用了close()方法关闭了压缩流。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现文件读写与压缩实例 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java异常和错误类总结(必看篇)

    下面是本文的完整攻略: Java异常和错误类总结(必看篇) 什么是异常和错误? Java程序的运行过程中,可能会出现各种各样的不正常情况,比如输入错误、内存不足、文件不存在等等。这些不正常情况统称为“异常”(Exception)和“错误”(Error)。 异常和错误都是Java的类,都继承自Throwable类。它们之间的区别在于,异常通常是程序运行过程中的…

    Java 2023年5月27日
    00
  • spring boot项目打包成war在tomcat运行的全步骤

    下面是详细的步骤。 1.创建Spring Boot项目 首先,需要使用Spring Initializr创建一个Spring Boot项目。这里我们以创建一个简单的Spring Boot RESTful应用为例。 可以使用如下命令创建: curl https://start.spring.io/starter.zip -o myproject.zip unz…

    Java 2023年5月19日
    00
  • Java实现SHA-1算法实例

    下面是“Java实现SHA-1算法实例”的完整攻略。 简介 SHA-1是一种哈希算法,用于产生消息摘要。它将消息作为输入,输出一个128位(20字节)的消息摘要。它被广泛用于数字签名等领域。 本攻略将介绍如何在Java中实现SHA-1算法,以便在需要时生成文本的消息摘要。 实现步骤 步骤1:导入SHA-1算法库 Java自带了SHA-1算法库,我们只需要导入…

    Java 2023年5月19日
    00
  • Spring Batch 入门示例

    下面详细讲解Spring Batch入门示例的完整攻略,内容包括: Spring Batch 简介 Spring Batch 入门示例概述 示例1:批处理读取 CSV 文件并输出到控制台 示例2:批处理读取数据库中的数据并写入到 XML 文件中 Spring Batch 简介 Spring Batch 是一个高效、强大、可重用的批处理框架,能够处理海量的数据…

    Java 2023年6月3日
    00
  • Spring Boot应用的极速部署脚本示例代码

    我很乐意为你详细讲解“Spring Boot应用的极速部署脚本示例代码”的完整攻略。 准备工作 在开始讲解之前,我们需要先进行一些准备工作: 安装JDK,确保环境变量已经配置完成。 安装Maven,确保环境变量已经配置完成。 极速部署脚本示例代码 接下来,我们将演示如何使用shell脚本自动化打包部署Spring Boot应用。这里提供两个示例: 示例一 假…

    Java 2023年5月19日
    00
  • 做Java开发如何月薪达到两万,需要什么技术水平

    如何成为月薪达到两万的Java开发攻略 作为Java开发工程师,月薪达到两万并不是难事。关键在于具备足够的技术水平和项目经验。下面是我们总结的攻略。 技能和技术水平 1. 扎实的Java基础 Java开发基础是成为优秀Java开发人员的重要基础。在掌握掌握Java基础语法、多线程、集合框架、IO/NIO、反射、注解、Lambda、Stream等知识的基础上,…

    Java 2023年5月26日
    00
  • java整数(秒数)转换为时分秒格式的示例

    让我来详细讲解一下如何将 Java 中的整数(秒数)转换为时分秒格式。 思路分析 将秒数转换为时分秒格式,其实就是将秒数拆分为小时、分钟、秒三个部分,然后格式化输出。可以使用 Java 中的数学运算和字符串格式化实现。 具体操作如下: 计算出总秒数中包含的小时数、分钟数和秒数; 使用字符串格式化输出结果。 代码实现 下面是整数(秒数)转换为时分秒格式的示例代…

    Java 2023年5月20日
    00
  • SpringBoot中如何启动Tomcat流程

    SpringBoot是现在Java开发中比较热门的框架之一,它以快速启动、无代码生产和简洁的配置等优势著称。Tomcat是其中最常见的Web容器之一,本文将详细讲解在SpringBoot中如何启动Tomcat的流程。 1. SpringBoot启动Tomcat的流程 SpringBoot启动Tomcat的流程步骤如下: SpringBoot启动器根据项目中引…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部