Java读取写入txt文件

简介

在Java编程中,常常需要读取和写入文本文件。文本文件是一种存储纯文本数据的文件,通常以.txt的扩展名结尾。Java提供了多种方法来读取和写入txt文件,本文将介绍其中常用的几种方法,并附带代码示例。

读取txt文件

读取txt文件的过程可以分为两步:打开文件和读取文件内容。

打开文件

在Java中,可以使用File类来表示一个文件,通过该类的实例可以打开一个txt文件。代码示例:

import java.io.File;

// 创建File对象
File file = new File("path/to/file.txt");

// 检查文件是否存在
if (file.exists()) {
    // 文件存在,继续操作
    // ...
} else {
    // 文件不存在,进行处理
    // ...
}

上述代码中的"path/to/file.txt"需要替换为实际的文件路径。

读取文件内容

打开文件后,可以使用BufferedReader类来读取文件的内容。BufferedReader提供了readLine()方法用于逐行读取文件内容。代码示例:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
    String line;
    while ((line = reader.readLine()) != null) {
        // 处理每行数据
        // ...
    }
} catch (IOException e) {
    e.printStackTrace();
}

上述代码中的file是之前创建的File对象。

写入txt文件

写入txt文件的过程也可以分为两步:打开文件和写入文件内容。

打开文件

同样地,使用File类来表示一个文件并打开它。代码示例:

import java.io.File;

// 创建File对象
File file = new File("path/to/file.txt");

// 检查文件是否存在
if (!file.exists()) {
    try {
        // 创建新文件
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

// 继续操作,写入文件内容
// ...

代码中的"path/to/file.txt"需要替换为实际的文件路径。

写入文件内容

打开文件后,可以使用BufferedWriter类来写入文件的内容。BufferedWriter提供了write()方法用于写入文本数据。代码示例:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
    writer.write("Hello, World!");
    writer.newLine();
    writer.write("This is a test file.");
} catch (IOException e) {
    e.printStackTrace();
}

上述代码中的file是之前创建的File对象。

示例

下面给出一个完整的示例,演示如何读取和写入txt文件:

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 FileExample {
    public static void main(String[] args) {
        // 读取txt文件
        File inputFile = new File("path/to/input.txt");
        try (BufferedReader reader = new BufferedReader(new FileReader(inputFile))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 写入txt文件
        File outputFile = new File("path/to/output.txt");
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) {
            writer.write("Hello, World!");
            writer.newLine();
            writer.write("This is a test file.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述示例中的"path/to/input.txt"和"path/to/output.txt"需要替换为实际的文件路径。

总结

本文介绍了在Java中读取和写入txt文件的方法,并提供了代码示例。通过使用File类和BufferedReader/BufferedWriter类,可以轻松地完成对txt文件的读取和写入操作。读取文件时,可以逐行读取文件内容;写入文件时,可以逐行写入文本数据。