Auslesen von .txt dateien

Ya-Sin

Mitglied
Ich brauche hilfe beim auslesen einer txt datei...

die txt datei ist in tabellenform und ich brauche eine methode, die die zahlen einzeln auslesen und in einem array speichert, die ich später für eine auswertung benötige.

ich hab nur methoden gefunden bei der ich zeilenweise auslesen kann, jedoch nicht wortweise...

PS:die einzelnen zahlen sind mit leerzeilen getrennt
:rtfm:
 
Wie Final_Striker schon gesagt hat, zeilenweise auslesen (z.B. BufferedReader, FileInputStreamReader) und dann trennen nach Trennzeichen (Leerzeichen, ";", usw.; z.B. mit StringTokenizer)
 
ich hab das jetzt mit der wortweisen ausgabe, jedoch habe ich immernoch probleme, die einzelnen wörter in ein array zu verpacken...
;(
irgendwie gibt es da komplikationen bei mir
 
Also jetzt sieht das so aus...
Das problem liegt dabei, das ich mein array 2Dimensional haben möchte, sodass ich bei der auswertung auf zeilen und spallten zurückgreifen kann...
im moment klappt das nicht
:noe:


Java:
public void analyse(){

        String[] Text = new String[15000];

      try{
         
BufferedReader br = new BufferedReader(new FileReader("C:/Dokumente und Einstellungen/Student/Eigene Dateien/NetBeansProjects/DateiAnalyse/src/dateianalyse/Trans1_FULL.txt"));

String zeile = br.readLine();



while (zeile != null) {
    
 j++;   

  

  StringTokenizer st = new StringTokenizer(zeile);
     while (st.hasMoreTokens()) {
         i++;


jTextField1.setText(String.valueOf(i));

String wort =  st.nextToken();
 Text [i]= wort;
System.out.println(Text[i]);
     }

zeile = br.readLine();
}
  

 



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


    
    
    
    
   
//System.exit(0);
    }
 
arrays sind in verbindung mit dateien allgemein ein problem, weil du leider vorher nicht weisst wieviel zeilen bzw. spalten die datei hat. eine methode, die dir die anzahl der zeilen zurückgibt, gibt es nicht... dh du findest es nur raus, wenn du sequenziell durchiterierst und dir einen zähler inkrementierst. würde dir hierbei collections empfehlen... das kannste ja dann wieder in ein 2d array packen, wenn du es unbedingt haben willst.
 
Mein Hamster formatiert seinen Code schöner ;-)

ungetestet....

Java:
   public String[][] analyse(){
      ArrayList<String[]> zeilen = new ArrayList<String[]>();

      try{
         BufferedReader br = new BufferedReader(new FileReader("C:/Dokumente und Einstellungen/Student/Eigene Dateien/NetBeansProjects/DateiAnalyse/src/dateianalyse/Trans1_FULL.txt"));
         String zeile = br.readLine();
         
         while (zeile != null) {  
            zeilen.add(zeile.split(" "));
            zeile = br.readLine();
         }
      }catch(IOException ioe){
         ioe.printStackTrace();
      }
      
      String[][] zeilenArray = new String[zeilen.size()][];
      for(int i = 0; i < zeilen.size(); i++){
         zeilenArray[i] = zeilen.get(i);
      }
      return zeilenArray;
   }
 
Die ausgabe sieht folgendermaßén aus : [Ljava.lang.String;@dd87b2
???🙁


Mein Hamster formatiert seinen Code schöner ;-)

ungetestet....

Java:
   public String[][] analyse(){
      ArrayList<String[]> zeilen = new ArrayList<String[]>();

      try{
         BufferedReader br = new BufferedReader(new FileReader("C:/Dokumente und Einstellungen/Student/Eigene Dateien/NetBeansProjects/DateiAnalyse/src/dateianalyse/Trans1_FULL.txt"));
         String zeile = br.readLine();
         
         while (zeile != null) {  
            zeilen.add(zeile.split(" "));
            zeile = br.readLine();
         }
      }catch(IOException ioe){
         ioe.printStackTrace();
      }
      
      String[][] zeilenArray = new String[zeilen.size()][];
      for(int i = 0; i < zeilen.size(); i++){
         zeilenArray[i] = zeilen.get(i);
      }
      return zeilenArray;
   }
 

Zurück
Oben