Tôi đang viết một chương trình bằng Java và một trong những điều tôi cần làm là tạo một tập hợp mọi vị trí hợp lệ cho một vấn đề đường đi ngắn nhất. Các vị trí được định nghĩa trong tệp .txt theo một mẫu nghiêm ngặt (một mục trên mỗi dòng, không có khoảng trống thừa) và hoàn hảo để sử dụng .nextLine để lấy dữ liệu. Vấn đề của tôi là 241 dòng vào tệp (trong số 432) máy quét ngừng hoạt động 3/4 theo cách thông qua mục nhập và không nhận ra bất kỳ dòng mới nào.Máy quét Java không duyệt toàn bộ tập tin
Mã của tôi:
//initialize state space
private static Set<String> posible(String posLoc) throws FileNotFoundException {
Scanner s = new Scanner(new File(posLoc));
Set<String> result = new TreeSet<String>();
String availalbe;
while(s.hasNextLine()) {
availalbe = s.nextLine();
result.add(availalbe);
}
s.close();
return result;
}
Data
Shenlong Gundam
Altron Gundam
Tallgee[scanner stops reading here]se
Tallgeese II
Leo (Ground)
Leo (Space)
Tất nhiên, "máy quét ngừng đọc ở đây" không có trong dữ liệu, tôi chỉ đánh dấu nơi quét dừng đọc các tập tin. Đây là 3068 byte vào tệp, nhưng điều đó không ảnh hưởng đến bất cứ điều gì vì trong cùng một chương trình, với mã gần như giống hệt nhau, tôi đang đọc một tệp 261tB, 14KB .txt mã hóa các đường dẫn. Bất kỳ trợ giúp sẽ được đánh giá cao.
Cảm ơn bạn.
Bạn có thể tải lên tệp dữ liệu thực tế ở đâu đó nơi chúng tôi có thể xem không? – NPE
Có ngoại lệ nào không? Có bất kỳ khối bắt trống nào không? –
Tôi hy vọng pastebin hoạt động cho tất cả mọi người. [dữ liệu] (http://pastebin.com/rt3mbXtD) – Fizzmaister