Text Datei ab dritte Spalte lesen

Hallo Leute,
ich habe 2 Probleme:

  • Wie man eine .txt Datei in Java zelenweise liest, kenne ich.
  1. Wie kann ich nur die erste Spalte lesen?
  2. Wie kann ich die Tabelle ab der 2, oder 3. oder…nte Spalte lesen?
    Danke für Ihre Hilfe

Hier ist der Code wi ich die Tabelle Zellenweise lese.

public static void main (String [] args){
try{
String zeile;
FileReader inputData =
new FileReader(Tabelle.txt)
BufferedReader br = new BufferedReader(inputData);

while ((zeile = br.readLine()) != null) {
System.out.println(zeile);

}
} catch (IOException ei) {
ei.printStackTrace();
}

Grüße
Colanite

Hallo Leute,

Wie sieht die txt-Datei aus? Ist sie komma-separiert,
oder sind die Spalten durch ein anderes Zeichen getrennt?

In dem Fall koenntest du die Zeilen mit einem StringTokenizer
zerpfluecken.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/St…

Gruss, Patrick

*Den anderen Artikel kannst du uebrigens loeschen.

Hallo Nadine,

wenn du unter UNIX unterwegs bist, solltest du dir mal das Tool ‚CUT‘ ansehen (-> man cut), das wird mit Sicherheit schon das können, was du brauchst.

gruss
bernhard

Hallo Nadine

ich habe 2 Probleme:

  • Wie man eine .txt Datei in Java zelenweise liest, kenne ich.
  1. Wie kann ich nur die erste Spalte lesen?
  2. Wie kann ich die Tabelle ab der 2, oder 3. oder…nte

Du hast ja schon einige Antworten dazu
erhalten und ersehen können, dass man
lieber was anderes als Java nimmt,
wenn es nur so ein kleines Problem
zu lösen gilt.

Beispielsweise wurde ‚cut‘ als Shellcommando
erwähnt. Man könnte noch ‚Perl‘ anfügen,
welches genau für solche Dinge gedacht war.

Falls Du es aber in Java machen musst, könntest
Du neben dem erwähnten „StringTokenizer“ vielleicht
noch String.split versuchen:

 class StringData {
 public static void main(...) {
 String mystr = "USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND";
 String[] spalten = mystr.split(" ");
 System.out.println(spalten[4]);
 System.out.println(spalten[5]);
 }
 }

in Perl würde das so aussehen:

 ... # PS ist pipe zu 'ps aux'
 while () { # spalte 4 und 5 anzeigen, wenn Prozess mit ^www losgeht
 /^www/ ? print "@{[split]}[4,5]\n" : 1;
 } 
 ...

Grüße

CMБ

http://java.sun.com/j2se/1.5.0/docs/api/java/io/Line…

)