Итак, мое новогоднее решение 2009 года - изучать Java. Недавно я приобрел «Java для чайников» и следовал демонстрационному коду, переписав его с помощью 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 помещается в папку bin с скомпилированными файлами .class.
Наконец, если я изменю строку 12 на следующую и поместу Hankees.txt в корень моего диска C: \, программа скомпилируется и работает нормально.
Scanner myScanner = new Scanner(new File("C:\\Hankees.txt"));
Итак, в основном мой вопрос: что я делаю не так? Или Eclipse как-то отвечает за это?
Спасибо за любую помощь!