Java将字符串数组中的文本添加到字符串向量中

时间:2014-12-10 05:30:42

标签: java arrays vector tabs delimited

我无法将制表符分隔的文本格式化为Vector。你能帮忙实现这个目标吗?

My String Array 数据包含这些文本。

LastName    FirstName   Address City    State   Phone   
Berry   Rachel  240 Woodbridge Rd.  West Haven  CT  (203) 933- 5678
Dillon  John    29 Howe Ave.    Derby   CT  (203) 735- 4532
...................
...................
...................

我试图让另一个子for​​循环通过制表符分割文本然后添加到行字符串向量但我遇到了Out of System Memory错误。我还尝试使用Vector中的addAll属性,但它将第1行(Berry ...)添加到第一个字段,第2行添加到第二个字段,依此类推。

这是我的代码,它不能按预期工作。

rowData = new Vector<Vector>();
row = new Vector<String>();

ReadFile filedata = new ReadFile(); 
data = filedata.OpenFile(); 

for(int i = 0; i <data.length; i++)
   {
       row.add(data[i].split("\\t").toString());                                                                       
   }

rowData.addElement(row);

如何格式化数据,以便按标签拆分到不同的字段?作为参考,这是我需要它的手动方式。

Vector<String> rowOne = new Vector<String>();
rowOne.addElement("Berry");
rowOne.addElement("Rachel");
rowOne.addElement("240 Woodbridge Rd.");
rowOne.addElement("West Haven");
rowOne.addElement("CT");
rowOne.addElement("(203) 933- 5678");

Vector<String> rowTwo = new Vector<String>();
rowTwo.addElement("Dillon");
rowTwo.addElement("John");
rowTwo.addElement("29 Howe Ave.");
rowTwo.addElement("Derby");
rowTwo.addElement("CT");
rowTwo.addElement("(203) 735- 4532");

我希望我已经足够清楚了,任何投入都会受到高度赞赏。谢谢大家。


编辑:我能够摆脱带有双循环的OutOfMemoryError,但是下面的代码用第一行填充我的Vector 10次,这是数组中的行数。

EDIT2:此循环返回10行,每行54个字段。这意味着数据阵列中的所有文本都被拆分并插入到这10行中,因此所有这10行都具有相同的数据集。这就是为什么我的桌子被第一行填满了10次。

rowData = new Vector<Vector>();
        row = new Vector<String>();

        ReadFile filedata = new ReadFile(); 
        data = filedata.OpenFile();             

        for(int i = 1; i <data.length; i++)
        {
            lines = data[i].split("\t"); 
            for(int x = 0; x < lines.length; x++)
            {
                row.addAll(Arrays.asList(lines[x]));                    
            }                
            rowData.addElement(row);                                                                      
        }

1 个答案:

答案 0 :(得分:0)

我已经改变了读取文件方法的结构并解决了问题。感谢所有输入人员。