Así que mi resolución de 2009 años nuevos es aprender Java. Recientemente adquirí "Java for Dummies" y he estado siguiendo junto con el código de demostración en el libro volviéndolo a escribir usando Eclipse. De todos modos, todos los ejemplos del libro que usa una ruta relativa no parecen leer el archivo .txt del que se supone que debe leer.¿Cómo funcionan las rutas relativas de archivos en Eclipse?
Aquí es el código de ejemplo:
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()));
}
}
y se puede ver en la siguiente captura de pantalla He incluido este archivo.
imagen ya no está disponible
Además, he comprobado que cuando construyo la aplicación que una copia de Hankees.txt se coloca en la carpeta bin con los archivos .class compilados.
Por último, si cambio la línea 12 a la siguiente y coloco Hankees.txt en la raíz de mi C: \ unidad el programa compila y funciona bien.
Scanner myScanner = new Scanner(new File("C:\\Hankees.txt"));
Entonces, básicamente, mi pregunta es ¿qué estoy haciendo mal? ¿O es Eclipse responsable de esto de alguna manera?
¡Gracias por toda la ayuda!
comentario tangencial: Estoy receloso de cualquier libro que tenga "tontos" en el título. Pruebe "Thinking in Java" de Bruce Eckel o "Learning Java" de Niemeyer & Knudsen, ambos son muy buenos. –
La última vez que revisé Java for Dummies, estaba basado en Java 1.2. ¿Lo han actualizado recientemente? –