2016-04-17 8 views
0

Ich möchte wissen, wie man Text innerhalb einer Datei liest, die in der ersten Zeile zum Beispiel Column1, Column2, Column3 etc. enthält. Da ich diese Zeile habe, möchte ich Column1 lesen und stoppen und in a speichern Variable, und wenn ich column2 wollte ich nur lesen, bis ich column2 finde und wenn ich das tue, speichere ich nur "column2" in einer Variablen, usw., wenn das Sinn macht.Wie liest man einen Teil einer Datei und speichert sie?

Grundsätzlich möchte ich bestimmte Wörter innerhalb einer Datei suchen und lesen und in eine Variable speichern, um sie in anderen Operationen zu verwenden. Ist das möglich? Ich überlegte, Pufferleser zu verwenden, aber ich bin nicht sehr erfahren mit Java, also irgendwelche Vorschläge oder Codeschnipsel, die ich überprüfen kann, ich würde es sehr schätzen, danke im Voraus.

+1

Klingt wie eine CSV-Datei. Verwenden Sie eine CSV-Bibliothek. –

+0

Verwenden Sie für eine CSV-Datei [OpenCSV] (http://opencsv.sourceforge.net/). – ManoDestra

+0

Nein, es ist keine CSV-Datei, nur eine Textdatei. Es ist Teil eines Projekts und ich denke nicht, dass wir zusätzliche Bibliotheken hinzufügen dürfen. Ich möchte nur Teile der Zeilen lesen und speichern in einer Variablen, auch im Auge behalten zwischen Spalte1 und Spalte2 ist ein Trennzeichen, das ich als Komma habe, wenn das hilft. –

Antwort

0

Eine echte Brute-Force-Methode wäre das Speichern und Laden einer gesamten Datenstruktur in und aus einer Datei. Dann könnten Sie sich aussuchen, was Sie auf eine bequemere Weise betrachten möchten. Das folgende Beispiel speichert und lädt ein Integer-Array namens Daten aus einer Datei im aktuellen Verzeichnis:

//Load the data integer array from a file in the current directory 
public void loadData(){ 
    try{ 
     ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName)); 
     data = (int[])ois.readObject(); 
    }catch(Exception e){e.printStackTrace();} 
} 

//Save the data integer array to a file in the current directory 
public void saveData(){ 
    try{ 
     FileOutputStream out = new FileOutputStream(fileName); 
     ObjectOutputStream oout = new ObjectOutputStream(out); 
     oout.writeObject(data); 
     oout.close(); 
    }catch(Exception e){e.printStackTrace();} 
} 
Verwandte Themen