2017-09-23 40 views
0

我想讀取寫在我的文本文件中的特定列,並將這些特定列並排顯示在我的文本區域中。我設法讀取所需的列,並使用下面的代碼拿給我的文字區域:使用java在文本區域中並排顯示字符串數組中的對象

try 
    { 
     ArrayList<String> totalResult1 = new ArrayList<String>(); 
     ArrayList<String> totalResult2 = new ArrayList<String>(); 
     [enter image description here][1]ArrayList<String> totalResult3 = new ArrayList<String>(); 
       try 
       { 
        FileInputStream fStream = new FileInputStream("hubo\\" + "table" + ".txt"); 
        DataInputStream in = new DataInputStream(fStream); 
        BufferedReader br = new BufferedReader (new InputStreamReader(in)); 
        String strLine; 

        while((strLine = br.readLine()) != null) 
        { 
         strLine = strLine.trim(); 

          if((strLine.length()!=0) && (strLine.charAt(0) !='#')) 
          { 
           String[] employee = strLine.split("\\s+"); 
           totalResult1.add(employee[0]); 
           totalResult2.add(employee[1]); 
           totalResult3.add(employee[2]); 
          } 

        } 

        for(String s1 : totalResult1) 
        { 
         showArea.append(s1.toString() + "\n");     
        } 

        for(String s2 : totalResult2) 
        { 
         showArea.append("\t" + "\t" + s2.toString() + "\n");      
        } 

        in.close(); 
        }   
        catch (Exception e1) 
        { 

        }       

      } 
      catch(Exception e1) 
      { 

      } 

這是我的結果

Alex Santos 
    Troy Smith 
    John Love 

       Married 
       Single 
       Married 

我想要的結果是這樣的:

Alex Santos Married 
    Troy Smith Single 
    John Love  Married 

我想要在我的文本區域中同時顯示我的兩列,任何人都可以將我指向正確的方向。

回答

1

您的解決方案已接近,但並不完全。當您追加totalResult1的工作人員姓名時,您每次都會換一個新行。所以當你添加第二個列表中的值時,你已經在名字下面了。要創建類似顯示的表格,您需要同時添加每個列表中的值:

for(int i = 0; i < totalResult1.size(); i++){ 
     showArea.append(totalResult1.get(i) + "\t\t"); 
     showArea.append(totalResult2.get(i) + "\n"); 
} 

應該這樣做。但是一般來說,當你想要一個表格時你不應該使用文本區域,你可以使用表格控件。

+0

感謝您的幫助。 –

+0

我在示例代碼中忘記了一些東西。現在更新... – tomtzook

+0

我已經解決了問題,謝謝你的解決方案tomtzook –

相關問題