当前位置:首页 > Java

java如何txt文件

2026-02-04 15:53:52Java

读取文本文件内容

使用 BufferedReader 读取文本文件,逐行处理内容:

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

public class ReadTxtFile {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

写入文本文件内容

使用 BufferedWriterFileWriter 将内容写入文本文件:

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

public class WriteTxtFile {
    public static void main(String[] args) {
        String filePath = "output.txt";
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
            bw.write("Hello, World!");
            bw.newLine();
            bw.write("This is a new line.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

追加内容到文本文件

FileWriter 构造函数中设置 append 参数为 true,避免覆盖原文件:

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

public class AppendToTxtFile {
    public static void main(String[] args) {
        String filePath = "output.txt";
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath, true))) {
            bw.write("Appended line.");
            bw.newLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Java NIO 读取文件

Java NIO 提供 Files 类,可以更简洁地读取文件内容:

java如何txt文件

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadTxtWithNIO {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try {
            List<String> lines = Files.readAllLines(Paths.get(filePath));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Java NIO 写入文件

Files.write() 方法可以快速写入内容到文件:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;

public class WriteTxtWithNIO {
    public static void main(String[] args) {
        String filePath = "output.txt";
        List<String> lines = Arrays.asList("Line 1", "Line 2", "Line 3");
        try {
            Files.write(Paths.get(filePath), lines);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

检查文件是否存在

在读取或写入文件前,可以使用 Files.exists() 检查文件是否存在:

java如何txt文件

import java.nio.file.Files;
import java.nio.file.Paths;

public class CheckFileExists {
    public static void main(String[] args) {
        String filePath = "example.txt";
        boolean exists = Files.exists(Paths.get(filePath));
        System.out.println("File exists: " + exists);
    }
}

处理大文件

对于大文件,逐行读取避免内存不足问题:

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

public class ReadLargeTxtFile {
    public static void main(String[] args) {
        String filePath = "large_file.txt";
        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                // 处理每一行数据
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Scanner 读取文件

Scanner 类可以方便地解析文本文件:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadTxtWithScanner {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (Scanner scanner = new Scanner(new File(filePath))) {
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

处理不同编码的文本文件

如果文件不是 UTF-8 编码,可以使用 InputStreamReader 指定编码:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;

public class ReadTxtWithEncoding {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (BufferedReader br = new BufferedReader(
                new InputStreamReader(new FileInputStream(filePath), StandardCharsets.ISO_8859_1))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

标签: 文件java
分享给朋友:

相关文章

vue实现文件下载

vue实现文件下载

使用 Blob 对象和 URL.createObjectURL 通过创建 Blob 对象生成文件内容,利用 URL.createObjectURL 生成临时链接,再通过动态创建 <a> 标…

vue文件下载后端实现

vue文件下载后端实现

Vue 文件下载后端实现 在 Vue 项目中实现文件下载功能通常需要前后端配合。后端主要负责生成文件并提供下载接口,前端通过调用接口触发下载。以下是常见的后端实现方法(以 Node.js/Expres…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

jquery文件

jquery文件

jQuery文件获取与使用 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是获取和使用jQuery文件的方法。 下载jQuery文件…