Ich habe die folgende Methode, die eine Datei liest, wo es eine ID (int) hat und Inhalt (String) durch einen Tabulator getrennt. Meine Methode liest die Datei Zeile für Zeile, und mit der Tab-Trennzeichen, ich analysieren die ID und die Zeichenfolge in einer doppelt verknüpften Liste wie folgt:ArrayIndexOutOfBoundsException wenn sie aus einer Datei zu lesen
void readAndAssemble(String fileName)
{
Scanner sc;
try
{
sc = new Scanner(new File(fileName));
while (sc.hasNextLine())
{
String line = sc.nextLine();
String lines[] = line.split("\t");
int packetID = Integer.parseInt(lines[0]);
// -----------------------------------------
String packetContent = lines[1]; // gives error in terminal
// -----------------------------------------
DLLNode curr = header.getNext();
DLLNode prev = header;
while (packetID > curr.getPacketID())
{
prev = curr;
curr = curr.getNext();
}
DLLNode newNode = new DLLNode(packetID, packetContent, prev, curr);
prev.setNext(newNode);
curr.setPrev(newNode);
}
sc.close();
} catch (FileNotFoundException e)
{
System.out.println("File does not exist");
}
}
Diese Methode funktioniert perfekt in Eclipse- wenn ich laufe , aber gibt mir diese Fehlermeldung, wenn ich javac verwenden und führen sie es in Terminal:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at DLL.readAndAssemble(DLL.java:40)
at MessageAssembler.main(MessageAssembler.java:11)
Wo ist mein MessageAssembler Klasse sieht wie folgt aus:
public class MessageAssembler
{
public static void main(String[] args)
{
DLL myDLL = new DLL();
myDLL.readAndAssemble("Mystery3.txt");
myDLL.printContent();
}
}
Was könnte das verursachen?
Entweder der folgenden Zeilen können Sie Probleme haben int packetID = Integer .parseInt (Zeilen [0]); // ----------------------------------------- String packetContent = Zeilen [] 1]; // gibt Fehler im Terminal. Überprüfen Sie die Zeilennummer 11 im Code. – GrabNewTech
Könnten Sie einen Teil der Datei veröffentlichen? – BrunoDM
Sie können es unter http://www.eecs.yorku.ca/course_archive/2016-17/W/2011/Mystery.txt –