Ich habe Probleme mit dieser Methode. Die Methode soll eine Textdatei für eine Reihe von Daten lesen (Attack ID [int], Datum [String gespeichert im Format MM/DD/YYYY], Name des Monsters [String], Ort [String] und Reporter von Der Angriff [String]) wird durch Kommata getrennt und diese Werte in eine ArrayList mit dem Namen monsterAttacks eingetragen. Jedes Mal, wenn ich diese Methode ausführe, erhalte ich eine InputMismatchException. Ich habe das Gefühl, dass es etwas mit dem Datum zu tun hat, aber ich bin mir nicht sicher, wo oder wie in diesem Fall die String-Methode split() verwendet wird. Wie kann ich das richtig machen?Java lesen Strings aus einer Datei
Haftungsausschluss: Dies ist Teil einer Hausaufgabe.
Vielen Dank im Voraus.
Edit: Beispieldaten aus Textdatei:
23,12/23/1994, Dracula, Kalifornien, Trisha Takinawa
25,11/12/1992, Godzilla, New York, David
private void readFromFile(){
if(!(monsterAttacks.isEmpty())) {
monsterAttacks.clear();
System.out.println("\nList cleared...");
}
System.out.println("Enter path: ");
String pathName = getUserInput();
File file = new File(pathName);
Scanner read;
MonsterAttack attack;
try {
read = new Scanner(file);
do {
int id = read.nextInt();
String date = read.next();
String name = read.next();
String location = read.next();
String reporter = read.next();
attack = new MonsterAttack(id, date, name, location, reporter);
monsterAttacks.add(attack);
} while (read.hasNext());
read.close();
} catch(IOException e){
e.printStackTrace();
}
}
Könnten Sie ein Beispiel der Daten in der Datei setzen? –
@TiagoLuna Natürlich. Ich habe es einfach hinzugefügt. –
Danke, @ max-orozco. Ich habe eine Lösung für Ihr Problem geschrieben, die nur Operationen über einen Stream verwendet. Bitte überprüfe meine Antwort. Ich hoffe, es hilft. –