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

尝试向ArrayList添加数据时Eclipse找不到txt文件问题求助

问题修复方案

  • 你当前代码完全没有用到方法传入的filename参数,硬编码了绝对路径,这种写法在不同环境下大概率失效,是极不推荐的写法
  • Eclipse默认运行Java程序的工作目录是项目根目录(也就是你这里的A2文件夹),不是bin目录,你把input.txt放在项目根目录下,直接用相对路径读取即可,不需要写全路径
  • 你目前只写了读取拆分逻辑,还没补全添加到ArrayList的部分,完整可用的代码如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class YourTestClass {
    // 可根据实际需求调整ArrayList的泛型类型
    private ArrayList<String> dataList = new ArrayList<>();

    public void readData(String filename) {
        // try-with-resources语法会自动关闭流,无需手动释放,避免资源泄露
        try (BufferedReader br = new BufferedReader(new FileReader(new File(filename)))) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] words = line.split("\\s");
                // 拆分后的数据添加到ArrayList
                for (String word : words) {
                    // 可选逻辑:过滤连续空格产生的空字符串
                    if (!word.trim().isEmpty()) {
                        dataList.add(word);
                    }
                }
            }
        } catch (IOException e) {
            // 打印异常栈可快速定位文件找不到的具体原因
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        YourTestClass obj = new YourTestClass();
        // input.txt放在项目根目录下直接传文件名即可
        obj.readData("input.txt");
        // 验证读取结果
        System.out.println(obj.dataList);
    }
}
  • 如果你一定要用绝对路径,可先打印路径确认拼写是否正确:System.out.println(file.getAbsolutePath());,Windows路径中的空格不会影响正常读取
  • 额外注意:bin目录下的文件会在Eclipse执行清理构建时被自动清除,不要把资源文件放在bin目录,建议在项目根目录下新建resources文件夹存储资源文件,读取时路径写"resources/input.txt"即可

内容的提问来源于stack exchange,提问作者Wei Neuer Yew

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 03:48:04