Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java 文件读取


在 Java 中,有多种方式可以读取文件,每种方式都有其适用的场景和优缺点。以下是一些常见的文件读取方式以及它们的详细步骤流程,包括使用第三方库的情况:

使用 FileInputStream 和 FileOutputStream

这是最基本的文件读写方式,适用于小型文件。不需要额外的依赖。

import java.io.*;

public class FileReadWriteExample {
    public static void main(String[] args) {
        try {
            // 读取文件
            FileInputStream inputStream = new FileInputStream("input.txt");
            int data;
            while ((data = inputStream.read()) != -1) {
                System.out.print((char) data);
            }
            inputStream.close();

            // 写入文件
            FileOutputStream outputStream = new FileOutputStream("output.txt");
            String text = "Hello, World!";
            outputStream.write(text.getBytes());
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 BufferedReader 和 BufferedWriter

这种方式适用于文本文件的读写,它可以提高性能,逐行读取或写入文本。

import java.io.*;

public class BufferedReaderWriterExample {
    public static void main(String[] args) {
        try {
            // 读取文件
            BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();

            // 写入文件
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
            String text = "Hello, World!";
            writer.write(text);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Java NIO(New I/O)

Java NIO 提供了更高效的文件操作方式,适用于大型文件和网络通信。不需要额外的依赖。

import java.io.IOException;
import java.nio.file.*;
import java.util.List;

public class JavaNIOExample {
    public static void main(String[] args) {
        try {
            // 读取文件
            List<String> lines = Files.readAllLines(Paths.get("input.txt"));
            for (String line : lines) {
                System.out.println(line);
            }

            // 写入文件
            String text = "Hello, World!";
            Files.write(Paths.get("output.txt"), text.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用第三方库 Apache Commons IO

Apache Commons IO 提供了更多的文件操作功能,如复制、移动、递归操作等。需要添加以下 Maven 或 Gradle 依赖:

Maven 依赖坐标:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

Gradle 依赖坐标:

implementation group: 'org.apache.commons', name: 'commons-io', version: '2.11.0'

示例代码:

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

public class CommonsIOExample {
    public static void main(String[] args) {
        try {
            // 读取文件
            String content = FileUtils.readFileToString(new File("input.txt"), "UTF-8");
            System.out.println(content);

            // 写入文件
            FileUtils.writeStringToFile(new File("output.txt"), "Hello, World!", "UTF-8");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这些是常见的文件读取方式,你可以根据你的需求选择最适合的方法。在使用第三方库时,请确保在项目的构建工具中添加正确的依赖。

###使用ApacheCommonsNet库ApacheCommonsNet是一个常用的Java库,它提供了FTP客户端的功能。步骤流程:添 ...
###使用基本的JavaI/O流这是最基本的文件读取和写入方法,使用Java的输入流(InputStream)和输出流(OutputStre ...
下面我将详细介绍每种方式的步骤和示例代码,并为每种方式提供Maven和Gradle的依赖坐标(如果需要)。示例代码:Maven依赖坐标:Gr ...
###通过Python内置的文件操作方式这种方式使用Python内置的文件操作函数来读取本地文件内容。说明:这种方式适用于Django项目中 ...
###方法一:使用基本的文件读写操作这种方法涉及使用Java的标准I/O操作来读取和修改文件。Maven依赖:Gradle依赖:示例代码:# ...