【发布时间】:2010-10-01 01:04:16
【问题描述】:
所以我 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 以某种方式对此负责?
感谢您的所有帮助!
【问题讨论】:
-
切题评论:我对任何标题中有“傻瓜”的书持怀疑态度。试试 Bruce Eckel 的“Thinking in Java”或 Niemeyer & Knudsen 的“Learning Java”,都很不错。
-
我上次检查 Java for Dummies 时,它是基于 Java 1.2 的。他们最近更新了吗?
标签: java eclipse file-io relative-path