我有一个包含4行数据的文本文件。

AAA,ZZZ,555,10
BBB,KKK,908977,5
CCCCC,WIKY PODAR,130000,15
DDDDD,XXXXX555,130110,30


然后我将它们阅读并拆分,删除回车符,替换为昏迷并将其存储在数组中。

打印出arry,看起来不错:

[AAA, ZZZ, 555, 10, BBB, KKK, 908977, 5, CCCCC, WIKY PODAR, 130000, 15, DDDDD, XXXXX555, 130110, 30]


但是,我将它们单独打印出来,然后10和BBB成为单个数组元素。如何将它们分为两个不同的数组元素?

谢谢。

输出:

AAA
ZZZ
555
10, BBB
KKK
908977
5, CCCCC
WIKY PODAR
130000
15, DDDDD
XXXXX555
130110
30




while (inputStream.read(buffer) != -1) {
                String testString2 = new String(buffer);
                String delim2 = ",";
                String[] token2 = testString2.split(delim2);
                String[] myStringArray = new String[token2.length];
                for (int i = 0; i < token2.length; i++) {
                    token2[i]=token2[i].replaceAll("[\n]", "");
                    token2[i]=token2[i].replaceAll("[\r]", ", ");
                    myStringArray[i] = token2[i];
                }

最佳答案

为什么不尝试以下方法呢?更矮更甜?

List<String> lines = Files.readLines(file, Charsets.UTF_8);
for(String line : lines) {
    String[] words = line.split(",");
    System.arrayCopy(words, 0, myStringArray, myStringArray.length, words.length);
}


但是,如果您确实想按照自己的方式进行操作,则需要

更换

token2[i]=token2[i].replaceAll("[\r]", ", ");



token2[i]=token2[i].replaceAll("[\r]", "");

无需用逗号替换回车。

08-06 05:28