Vì vậy, năm 2009, độ phân giải năm mới của tôi là học Java. Gần đây tôi đã mua "Java for Dummies" và đã được theo dõi cùng với mã trình diễn trong cuốn sách bằng cách viết lại nó bằng Eclipse. Dù sao, mọi ví dụ trong cuốn sách sử dụng đường dẫn tương đối dường như không đọc tệp .txt mà nó phải đọc từ đó.Đường dẫn tệp tương đối hoạt động như thế nào trong Eclipse?
Đây là đoạn mã mẫu:
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()));
}
}
Và bạn có thể nhìn thấy trong ảnh chụp màn hình dưới đây tôi đã bao gồm tập tin này.
ảnh này không còn có sẵn
Ngoài ra, tôi đã xác minh rằng khi tôi xây dựng ứng dụng đó một bản sao của Hankees.txt được đặt trong thư mục bin với các tập tin biên soạn .class.
Cuối cùng, nếu tôi thay đổi dòng 12 thành phần sau và đặt Hankees.txt trong thư mục gốc của C: \, chương trình biên dịch và chạy tốt.
Scanner myScanner = new Scanner(new File("C:\\Hankees.txt"));
Vì vậy, về cơ bản, câu hỏi của tôi là tôi đang làm gì sai? Hoặc là Eclipse chịu trách nhiệm về điều này theo một cách nào đó?
Cảm ơn mọi sự giúp đỡ!
nhận xét tiếp tuyến: Tôi là bất kỳ cuốn sách nào có "núm vú" trong tiêu đề. Hãy thử "Thinking in Java" của Bruce Eckel hoặc "Learning Java" của Niemeyer & Knudsen, cả hai đều rất tốt. –
Thời gian qua tôi đã kiểm tra Java cho Dummies, nó là Java 1.2. Họ đã cập nhật nó gần đây chưa? –