You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中创建字符串路径读取文本文件并逐行存入ArrayList求助

没问题,我来帮你搞定这个需求~

首先,你只需要把硬编码的路径换成字符串变量,再调整Scanner的读取逻辑,就能轻松把文件内容逐行存入ArrayList了。下面是具体的实现步骤和代码:

1. 定义字符串路径

先把原来固定的路径改成字符串变量,这样你可以灵活替换目标文件的路径:

// 替换成你需要的任意文件路径字符串即可
String filePath = "c:/Users/Green/documents/dictionary.txt";

2. 逐行读取并存入ArrayList

如果你的需求是直接把每行完整内容存入列表,那不需要保留原来的分隔符设置(Scanner默认会按换行符识别行),直接用hasNextLine()和nextLine()就能实现:

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

public class FileReaderExample {
    public static void main(String[] args) {
        String filePath = "c:/Users/Green/documents/dictionary.txt";
        List<String> contentLines = new ArrayList<>();

        // 使用try-with-resources自动关闭Scanner,避免资源泄漏
        try (Scanner scanner = new Scanner(new File(filePath))) {
            // 循环读取每一行并加入列表
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                contentLines.add(line);
            }
        } catch (FileNotFoundException e) {
            // 处理文件不存在的异常,比如打印提示或日志
            System.err.println("找不到指定路径的文件:" + filePath);
            e.printStackTrace();
        }

        // 可选:验证读取结果
        System.out.println("共读取到" + contentLines.size() + "行内容");
        for (String line : contentLines) {
            System.out.println(line);
        }
    }
}

3. 如果需要处理每行内的"-"分隔符

如果你原来设置的useDelimiter("\\s*-\\s*")是为了拆分每行里的内容(比如每行格式是"单词 - 释义"),可以在读取每行后再做拆分处理:

while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    // 按"-"拆分,自动忽略前后的空格
    String[] parts = line.split("\\s*-\\s*");
    // 比如把拆分后的内容合并成自定义格式存入列表
    contentLines.add("单词:" + parts[0].trim() + ",释义:" + parts[1].trim());
}

小提示

  • 一定要捕获FileNotFoundException,避免路径错误或文件缺失时程序崩溃;
  • Windows系统的路径可以用双反斜杠"c:\\Users\\Green\\documents\\dictionary.txt",也可以用你原来的正斜杠写法,Java两种都支持;
  • try-with-resources语法会自动关闭Scanner,不用手动调用close()方法。

内容的提问来源于stack exchange,提问作者user12824107

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 14:57:35