JAVA.io读写文件方式汇总

Java.io读写文件方式汇总

在Java编程中,经常需要对文件进行读写操作,这时候就需要使用Java IO类库中提供的读写文件的方法。本文将会综合常用的文件读写方式,详细介绍其用法和适用场景。

1. FileInputStream/FileOutputStream

FileInputStreamFileOutputStream是用来读写二进制文件的基本工具,它们包含在java.io包中。

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

public class FileStreamDemo {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream(new File("input.txt"));
            FileOutputStream fos = new FileOutputStream(new File("output.txt"));
            byte[] buf = new byte[1024];
            int len;
            while ((len = fis.read(buf)) != -1) {
                fos.write(buf, 0, len);
            }
            fis.close();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. FileReader/FileWriter

FileReaderFileWriter类用于读写文本文件,它们是基于字符的读写工具,需要使用ReaderWriter类的打开方式。

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileReaderWriterDemo {
    public static void main(String[] args) {
        try {
            FileReader reader = new FileReader(new File("input.txt"));
            FileWriter writer = new FileWriter(new File("output.txt"));
            char[] cbuf = new char[1024];
            int len;
            while ((len = reader.read(cbuf)) != -1) {
                writer.write(cbuf, 0, len);
            }
            reader.close();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

示例1:将input.txt文件内容复制到output.txt中。

示例2:统计input.txt文件中单词的个数。

3. BufferedReader/BufferedWriter

BufferedReaderBufferedWriter是用于读写文本文件的缓冲流,可以提高I/O的效率。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedReaderWriterDemo {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader(new File("input.txt")));
            BufferedWriter writer = new BufferedWriter(new FileWriter(new File("output.txt")));
            String line;
            while ((line = reader.readLine()) != null) {
                writer.write(line);
                writer.newLine();
            }
            reader.close();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

示例1:将input.txt文件按行读取并输出到控制台。

示例2:将input.txt文件中所有的小写字母转化为大写字母,并输出到output.txt文件中。

4. DataInputStream/DataOutputStream

DataInputStreamDataOutputStream是用来读写Java基本数据类型的工具,如:int、float、double和boolean。

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class DataInputStreamOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(new File("data.dat")));
        for (int i = 0; i < 10; i++) {
            dos.writeInt(i);
            dos.writeDouble(2.0 * i);
        }
        dos.close();

        DataInputStream dis = new DataInputStream(new FileInputStream(new File("data.dat")));
        for (int i = 0; i < 10; i++) {
            int n = dis.readInt();
            double d = dis.readDouble();
            System.out.printf("%d %f\n", n, d);
        }
        dis.close();
    }
}

以上就是Java.io读写文件方式汇总的详细攻略。希望能对Java编程爱好者有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA.io读写文件方式汇总 - Python技术站

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

相关文章

  • Java数组操作的10大方法

    当涉及到Java编程时,数组是其中最基础、最重要的数据类型之一。Java的数组提供了许多基本操作,这些操作也是Java程序员必须掌握的必备编程技能之一。以下是Java数组操作的10大方法的详细攻略: 1.创建数组 在Java中,你可以使用以下方式来创建数组: int[] arrInt = new int[10]; String[] arrString = n…

    Java 2023年5月26日
    00
  • Struts2实现文件下载功能代码分享(文件名中文转码)

    下面是详细的“Struts2实现文件下载功能代码分享(文件名中文转码)”攻略: 1. 背景介绍 Struts2是一个优秀的MVC框架,而文件下载是很多Web项目中常见的需求。本文将介绍如何在Struts2中实现文件下载功能,并且解决中文文件名乱码的问题。 2. 实现步骤 2.1 编写Action 首先,我们需要创建一个Action类,用于处理文件下载请求。该…

    Java 2023年5月20日
    00
  • SpringBoot整合MyBatis的代码详解

    以下是关于SpringBoot整合MyBatis的完整攻略: 1. 准备工作 建立SpringBoot项目 添加相关依赖:SpringBoot的Web、MyBatis、MySQL驱动 2. 配置数据源 在SpringBoot项目的配置文件application.properties中,添加数据源的相关配置: # 数据源配置 spring.datasource…

    Java 2023年5月19日
    00
  • Spring Security实现微信公众号网页授权功能

    下面是“Spring Security实现微信公众号网页授权功能”的完整攻略。 一、背景介绍 微信公众号作为当前最受欢迎的一种社交媒体,已经成为许多公司和个人宣传、推广和交流的重要渠道。因此,实现微信公众号网页授权功能是建立一个可持续发展的微信公众号应用的重要一步。在这个过程中,Spring Security可以帮助我们安全地管理和控制我们的应用程序的访问。…

    Java 2023年5月20日
    00
  • java 线程池keepAliveTime的含义说明

    当我们使用Java中的线程池时,线程池使用keepAliveTime参数来确定当线程池中的线程处于空闲状态时,我们希望线程在终止之前可以保持的时间量。如果一段时间内没有任务需要执行,线程则会被清除,以帮助线程池节省资源。 具体来说,keepAliveTime表示在线程池处于空闲状态且当前线程数量超过corePoolSize时,空闲线程等待新任务的最长时间。在…

    Java 2023年5月20日
    00
  • ZIP4j 压缩与解压的实例详解

    ZIP4j 压缩与解压的实例详解 在本文中,我们将使用 Java 的第三方库 ZIP4j 来演示如何进行文件的压缩与解压,并提供了两个示例。 简介 ZIP4j 是一个开源的 Java 库,用于对 ZIP 类型的文件进行压缩和解压操作。它支持密码保护、AES 加密、多卷、易失性操作等功能。 环境 在使用前,我们需要进行相应的环境配置。首先,我们需要下载 ZIP…

    Java 2023年5月20日
    00
  • Spring内置任务调度如何实现添加、取消与重置详解

    下面我来简单介绍一下Spring内置的任务调度的添加、取消与重置详解。 1. 添加任务 Spring内置的任务调度通过使用TaskScheduler和CronTask对象来完成任务的调度。下面是添加任务的步骤: 首先,在Spring的配置文件中配置一个TaskScheduler对象。可以使用ThreadPoolTaskScheduler或者Concurren…

    Java 2023年6月15日
    00
  • 浅谈几种Java自定义异常处理方式

    浅谈几种Java自定义异常处理方式 在Java中,异常是一种非常常见的错误类型,如果没有捕获和处理异常,程序很容易因为意外的错误而导致崩溃。Java允许我们自定义异常类型,来处理程序中特定的异常情况。本文将对几种Java自定义异常处理方式进行探讨,并提供示例代码来帮助读者加深对这些技术的理解。 自定义异常类 我们可以通过继承 Java 内置的异常类(Thro…

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