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

Java项目读取txt文件失败求助:Gale-Shapley算法实现遇问题

Java文件读取找不到问题的解决方案

1. 确认工作目录与文件位置

直接使用input1.txt这类相对路径时,文件的基准位置是程序的工作目录,而非src或项目根目录。先打印当前工作目录确认:

System.out.println(System.getProperty("user.dir"));

将input1.txt放到输出的这个路径下,即可用相对路径读取。

2. 类加载器读取类路径资源

若文件放在src目录(编译后会被打包到类路径下),用类加载器读取更可靠,不受工作目录影响:

// 注意路径前的斜杠,表示从类路径根开始查找
InputStream inputStream = YourMainClass.class.getResourceAsStream("/input1.txt");
if (inputStream == null) {
    System.err.println("未找到input1.txt文件");
    return;
}
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 逐行读取逻辑

3. 检查IDE运行配置

  • IntelliJ IDEA:打开Run → Edit Configurations,确认Working directory设置为$PROJECT_DIR$(项目根目录)
  • VS Code:编辑.vscode/launch.json,确保cwd字段指向项目根目录:
"cwd": "${workspaceFolder}"

4. 完善异常捕获逻辑

原程序可能未处理文件不存在的异常,导致仅返回exit code 0无错误提示,补充异常处理:

try {
    BufferedReader reader = new BufferedReader(new FileReader("input1.txt"));
    String line;
    while ((line = reader.readLine()) != null) {
        // 处理每行数据
    }
    reader.close();
} catch (FileNotFoundException e) {
    System.err.println("找不到目标文件input1.txt");
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:19:53