2017-07-07 52 views
0

我按tab分隔两列。我已经完成了以下代码,但是通过该代码,我在整个数组中获得了一列。我想单独访问每个元素,并且我想使用java将两列存储在两个数组中。我有一个文本文件,并在该文本文件中我存储了2列的单词。我想将第一列存储在一个数组中,并将第二列存储在另一个数组中

splitting[0],我有第一个数组,并在splitting[1]我存储了第二列元素。现在我想使用Java分别访问每个元素。

for(int i=0;i<lines.size();i++){ 
    String[] splitting = lines.get(i).split("\t"); 
} 
+1

对不起,我不明白你的意思 - 请编辑您的问题,使之可以理解的。也许提供样本数据和预期的输出 –

回答

0

再创建两个数组。

把这个放在你的分割之后。

array1[i] = splitting[0]; 
array2[i] = splitting[1];` 

您需要将两个新阵列的大小设置为lines.size()。我会使用List而不是Array

1

您可以使用Scanner将分隔符指定为tab ..并使用动态数组即ArrayList添加列。

BufferedReader reader= new BufferedReader(new FileReader("D:/sagar.txt")); 
     Scanner sc= new Scanner(reader); 
     sc.useDelimiter("\\s+"); // regex for specifying one or more tabs 

     List<String> a=new ArrayList<String>(); 
     List<String> b =new ArrayList<String>(); 
     while((sc.hasNextLine())){ 
      a.add(sc.next()); 
      b.add(sc.next()); 
     } 

     System.out.println("First Column"); 

     for (String string : a) { 

      System.out.println(string); 
     } 

     System.out.println("Second Column"); 
     for (String string : b) { 
      System.out.println(string); 

sagar.txt

hi ssup 
hello gm 
+0

当我使用上面的代码时,我得到以下错误。例外在java.util.Scanner.throwFor(Scanner.java:862)线程 “主” java.util.NoSuchElementException \t \t 在java.util.Scanner.next(Scanner.java:1371) \t在javaapplication1。 CellTest.main(CellTest.java:42) –

+0

您是否创建了带有制表符分隔值的文本文件?假定这是您正在寻找的内容,每行都被认为是具有2个不同列值的新记录。 –

相关问题