繁体   English   中英

Java在制表符中将文本从字符串数组分隔为字符串矢量

[英]Java Add Text in Tab Delimited From String Array To String Vector

我在将制表符分隔的文本格式设置为Vector时遇到麻烦。 您能否提供帮助以实现这一目标?

我的字符串数组数据包含这些文本。

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​​循环按选项卡拆分文本,然后将其添加到String Vector行,但是遇到了“系统内存不足”错误。 我还尝试了使用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");

我希望我已经说得足够清楚,任何输入将不胜感激。 谢谢你们。


编辑:我能够摆脱与双for循环的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);                                                                      
        }

我已经更改了读取文件方法的结构并解决了问题。 谢谢您的投入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM