Bir aracın ayrıntılarını x koordinatı ve y koordinatıyla bir metin belgesinden kaydetmeye çalışıyorum. Burada metin belgesi neye benziyor ('760' kasten başka bir satırdadır)Metin dosyasından okuma, ancak yalnızca belirli parçaları depola
Dosyayı okumak için bir yol olup olmadığını ve sadece araç adını ve x & y koordinatlarını saklamak için bir yol olup olmadığını merak ediyorum. Zaten bir ad almak için bir kurucu var, x & y. Ben de kurmak bu Tarayıcı vardır: Ben .next();
kullanarak insanların etrafına baktı ve gördüğüm
File file;
file = new File("CarInfo.txt");
try (Scanner sc = new Scanner(file)) {
while (sc.hasNext()) {
String carTab = sc.next();
// Looking for tag 'Car'
if (!carTab.equals("Car:")) continue;
if (!sc.hasNext()) {
break;
}
String car = sc.next();
if (!sc.hasNextInt()) {
continue;
}
int x = sc.nextInt();
if (!sc.hasNextInt()) {
break;
}
int y = sc.nextInt();
System.out.println(car + " " + x + " " + y);
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
}
ama işe alınamıyor.
Düzenleme: (Keqiang Li) koddan Alınan
Hata:
Exception in thread "AWT-EventQueue-0" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at traingui.code.TrainGui$1.run(TrainGui.java:37)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
_ "120", başka bir satırda "_" bir "hata" olduğu için düzeltildi ve düzeltilebilir mi? Dosya hakkında başka anormallikler var mı? _could_ yapmak, dosyayı bir akış olarak ele alır, burada yeni satırlar önemsizdir (diğer herhangi bir boşluk gibi davranır) ve bir dizi 4 "alan" ayrıştırır - sabit "İstasyon:", beyaz boşluk, _StationName_ boşluk, _x_, boşluk, _y_ –