java - 相对文件路径在 Eclipse 中如何工作?

标签 java eclipse file-io relative-path

所以我 2009 年的新年决心是学习 Java。我最近获得了“Java for Dummies”,并通过使用 Eclipse 重写了本书中的演示代码。无论如何,书中使用相对路径的每个示例似乎都没有读取它应该读取的 .txt 文件。

这里是示例代码:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.GridLayout;

class TeamFrame extends JFrame {

    public TeamFrame() throws IOException {
        PlayerPlus player;
        Scanner myScanner = new Scanner(new File("Hankees.txt"));

        for (int num = 1; num <= 9; num++) {
            player = new PlayerPlus(myScanner.nextLine(), myScanner.nextDouble());
            myScanner.nextLine();
            addPlayerInfo(player);
        }      

        add(new JLabel());
        add(new JLabel("   ------"));
        add(new JLabel("Team Batting Aberage:"));
        add(new JLabel(PlayerPlus.findTeamAverageString()));
        setTitle("The Hankees");
        setLayout(new GridLayout(11,2));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    void addPlayerInfo(PlayerPlus player) {
        add(new JLabel(player.getName()));
        add(new JLabel(player.getAverageString()));
    }
}

您可以在下面的屏幕截图中看到我已包含此文件。

图片不再可用

此外,我已经验证,当我构建应用程序时,Hankees.txt 的副本与已编译的 .class 文件一起放置在 bin 文件夹中。

最后,如果我将第 12 行更改为以下内容并将 Hankees.txt 放在我的 C:\驱动器的根目录中,则程序编译并运行良好。

Scanner myScanner = new Scanner(new File("C:\\Hankees.txt"));

所以基本上,我的问题是我做错了什么?还是 Eclipse 以某种方式对此负责?

感谢您的所有帮助!

最佳答案

你需要"src/Hankees.txt"

您的文件位于不计入工作目录的源文件夹中。\

或者您可以将文件移动到项目的根目录,然后使用 "Hankees.txt"

关于java - 相对文件路径在 Eclipse 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/437382/

相关文章:

java - JDT - AstParser - 获取为特定对象调用的方法列表

java - 无法加载或找到主类,在命令行中工作但在 IDE 中不工作

java - 已签名的 APK 具有不同的 Facebook key 哈希

python - 如何在 Python 中打开文件后释放内存

ios - NSBundle pathForResource : returns nil

java - 用 Jena 加载 owl 文件

java - 如果在递归调用中多次调用模拟,我可以让模拟返回不同的值吗

eclipse - 默认禁用 Eclipse 中的 sonarlint 自动分析

java - Sams Teach Yourself Java in 24 Hours Rogers Cadenhead MP3 第 20 章 MP3 文件错误第六版

java - 处理 "No mapping found for HTTP request in DispatcherServlet"情况