2016-12-01 2 views
0

Ich habe versucht, um diesen Code, aber das Jtextfield stellt sich leer, jede Hilfe wird sehr geschätzt werden. Ich denke, dass das Problem darin kommt, wo anstatt den Ort der Textdatei manuell zu spezifizieren, ich den jfilechooser verwende, aber bin nicht sicher. Bitte, jemand hilft mir.Wie man Werte von Arraylist auf Array setzt, teile sie und setze geteilten Text in jtextfield

try { 
     try { 

       UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(doc.class.getName()).log(Level.SEVERE,null, ex); 
     } catch (InstantiationException ex) { 
      Logger.getLogger(doc.class.getName()).log(Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) { 
      Logger.getLogger(doc.class.getName()).log(Level.SEVERE, null, ex); 
     } catch (UnsupportedLookAndFeelException ex) { 
      Logger.getLogger(doc.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     JFileChooser chooser = new JFileChooser(); 
     chooser.showOpenDialog(null); 
     File f = chooser.getSelectedFile(); 
     String filename = f.getAbsolutePath(); 
     try 


     { 
      FileReader reader = new FileReader (filename); 
      BufferedReader br = new BufferedReader(reader); 
      jTextArea1.read(br, null); 
      br.close(); 
      jTextArea1.requestFocus(); 
     }catch(Exception e){ 

      } 
     in = new BufferedReader(new FileReader(filename)); 
     String str; 
     ArrayList<String> list = new ArrayList<>(); 
     while((str = in.readLine()) != null){ 
      list.add(str); 

     } 
     String[] listArray =list.toArray(new String[list.size()]); 
     for(int b=0; b<listArray.length;b++){ 
      String[] Arra= str.split(" ") 
      serial_no.setText(Arra.get(0)); 
      adm_no.setText(Arra.get(2)); 

Antwort

0

Die zweite BufferedReader-in = new BufferedReader(new FileReader("filename")); ist falsch, da der Dateiname eine Zeichenfolge keine Variable ist.

str enthält die zuletzt gelesene Zeile in String[] Arra= str.split(" ") - ist das, was Sie wollen oder lst.get(i).split(" ") würden Sie die Wörter in der i-ten Zeile

+0

i bemerkt und tat bekommen diese stattdessen in = new BufferedReader (new Filereader (Dateiname)) ; aber es funktioniert immer noch nicht – narcos

+0

Gibt es einen Grund für 'BufferedReader', denn mit 'FileInputStream' könnten Sie' File' direkt verwenden - 'FileInputStream fis = new FileInputStream (f);' –

+0

Ich weiß nicht, wie man einen Text liest Datei Zeile für Zeile mit dem FileInputStream – narcos

Verwandte Themen