所以我的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的责任吗?
感谢所有帮助!