Итак, мое решение на Новый 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 как-то отвечает за это?
Спасибо за любую помощь!