2016-12-01 60 views
0

我試過這段代碼,但jtextfield變空了,任何幫助都將不勝感激。我認爲問題來了,而不是手動指定文本文件的位置,我使用jfilechooser,但我不確定。請有人幫助我。如何將arraylist設置爲數組,將它們拆分並在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)); 

回答

0

第二BufferedReader - in = new BufferedReader(new FileReader("filename"));是不正確的文件名是一個字符串不是變量。

str包含String[] Arra= str.split(" ")最後讀取行 - 是您要還是什麼lst.get(i).split(" ")會得到你的話在第i行

+0

我注意到,這樣做,而不是時間=新的BufferedReader(新的FileReader(文件名)) ;但仍然不起作用 – narcos

+0

是否有使用BufferedReader的原因,因爲FileInputStream可以直接使用File?FileInputStream fis = new FileInputStream(f);' –

+0

我不知道如何讀取文本文件一行一行地使用FileInputStream – narcos