2016-10-31 5 views
0

Jedes Mal, wenn ich versuche, innerhalb der Datei die shipText Array an eine entsprechende Zeile zu setzen, es gibt mirErste `Exception in thread "main" java.util.NoSuchElementException: keine Linie found`

Exception in thread main : java.util.NoSuchElementException: Keine Zeile gefunden.

Warum passiert das? Der Fehler, den ich weiter, egal, wo ich die Datei in meinem Arbeitsbereich platzieren:

Exception in thread "main" java.util.NoSuchElementException: No line found 
    at java.util.Scanner.nextLine(Scanner.java:1540) 
    at shipPanel.<init>(shipPanel.java:28) 
    at shipFrame.main(shipFrame.java:14) 

Dies ist mein Code in den Dateien Namen für das Lesen, shipsname-1.dat:

Scanner inputData; 
private String[] shipText = new String[138]; 
File infile = new File("shipnames-1.dat"); 
inputData = new Scanner(infile); 

for(int i = 0; i < shipText.length; i++) 
{ 
    shipText[i] = inputData.nextLine(); 
    System.out.println(shipText[i]); 
} 
inputData.close(); 
+0

Wie viele zu tun hat Ihr 'shipnames- 1.dat' Datei haben? –

+0

Die Anzahl der Zeilen in der Datei ist 138 –

Antwort

0

Sie für Scanner überprüfen müssen hat das nächste Token oder nicht;

while(inputdata.hasNext()){ 
//put you statement here 
} 
0

shipnames-1.dat vielleicht 138 Zeilen haben, so dass Sie 0-137 bekommen sollte, nicht 0 ~ 138, oder Sie können diese Zeilen

while (inputData.hasNext()) { 
    System.out.println(inputData.nextLine()); 
} 
Verwandte Themen