如何将arraylist设置为数组,将它们拆分并在jtextfield中设置拆分文本

问题描述:

我试过这段代码,但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)); 

第二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