2016-12-12 4 views
0

Ich versuche, jede Zeile in einer Datei zu lesen und sie dann zu teilen. Es ist das erste Mal, dass ich das mache und ich bin mir nicht sicher, ob ich den richtigen Zeichensatz oder den richtigen Pfad zur Datei verwende. Danke für Ihre Hilfe! Hier ist mein Versuch:Wie benutze ich readAllLines in Java richtig?

Der Pfad (Ruta) in Haupt wird wie folgt angegeben:

Path ruta=FileSystems.getDefault().getPath("mapa.csv"); 

Der Name meiner Datei mapa.csv ist, ich versuche, seinen Ordner zu erhalten. Der Konstruktor wird die folgende:

public void construirMapa() { 
    List<String> lineas = null; 
    try{ 
     //this returns null 
     lineas = Files.readAllLines(ruta, Charset.defaultCharset()); 
    }catch(IOException ex){ 
     System.out.println(ex.getMessage()); 
    } 
    if(lineas!=null){ 
     Iterator <String> linea=lineas.iterator(); 
     while(linea.hasNext()){ 
      String[] atributo=linea.next().split(";"); 
     } 
    } 
} 
+0

Der Code, den Sie zeigen sieht gut aus im Allgemeinen zu erhalten; vielleicht abgesehen von der Sache, dass es nichts mit dem ** atributo ** -Array macht, das es erzeugt. Du würdest nicht einmal bemerken, dass dort irgendetwas passiert; Ihr Code würde nur diese Datei lesen, Inhalte verarbeiten ... aber ohne sichtbare Nebenwirkungen! – GhostCat

+0

Warum wird 'ruta' so spezifiziert? Verwenden Sie 'Pfad ruta = Paths.get (" mapa.csv ")' – Andreas

Antwort

-1

ok scheint, können Sie auch den folgenden Code verwenden:

catch (IOException ex) 
{ 
    e.printStackTrace(); 
} 

Stacktrace im Fehlerfall

+0

Die Frage wurde bereits bearbeitet, um den Fehler zu drucken. – Andreas