相对文件路径如何在 Eclipse 中工作? [英] How do relative file paths work in Eclipse?

查看:28
本文介绍了相对文件路径如何在 Eclipse 中工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

So my 2009 new years resolution is to learn Java. I recently acquired "Java for Dummies" and have been following along with the demo code in the book by re-writing it using Eclipse. Anyway, every example in the book that uses a relative path does not seem to read the .txt file it's supposed to read from.

这是示例代码:

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()));
    }
}

你可以在下面的屏幕截图中看到我已经包含了这个文件.

And you can see in the below screen shot I have included this file.

图片不再可用

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

Also, I have verified that when I build the application that a copy of Hankees.txt is placed in the bin folder with the compiled .class files.

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

Lastly, if I change line 12 to the following and place Hankees.txt in the root of my C: drive the program compiles and runs fine.

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

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

So basically, my question is what am I doing wrong? Or is Eclipse responsible for this in some way?

感谢所有帮助!

推荐答案

您需要 "src/Hankees.txt"

您的文件位于不计为工作目录的源文件夹中.

Your file is in the source folder which is not counted as the working directory.

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

Or you can move the file up to the root directory of your project and just use "Hankees.txt"

这篇关于相对文件路径如何在 Eclipse 中工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆