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