使用.split(“,”);在for循环中将.csv数据拆分成数组?

时间:2017-10-03 09:26:33

标签: java arrays csv split

这是我目前遇到的问题。这是我的代码:

String[] sArray = new String[maxEntries*2];

for (int i = 0; i != (maxEntries*2); i++)
{
    sArray[i] = lines[i].split(",");
} 

而lines []是一个已经从.csv文件中读取数据的数组 例如,如果我将'i'替换为0,则前面的代码将工作,但我需要拆分整个行[]数组的数据。 但是,我反复收到以下错误消息:

error: incompatible types: String[] cannot be converted to String
            sArray[i] = lines[i].split(",");
                                      ^

任何帮助都会非常感激!

4 个答案:

答案 0 :(得分:2)

sArray是一个String数组,因此sArray[i]是一个String。 split(String str)方法返回一个数组。

您正在尝试为字符串变量提供数组值。 sArray必须是String数组的数组

答案 1 :(得分:1)

split返回String数组。如果您想要第一个元素,可以使用sArray[i] = lines[i].split(",")[0];。如果要迭代列,请将0替换为i

您尝试做的可能是:

String[][] myata = new String[maxEntries*2];

for (int i = 0; i != (maxEntries*2); i++)
{
    myData[i] = lines[i].split(",");
} 

通过这种方式,您可以获得字符串数组中每一行的数据,并且这些数组的数组更大。

答案 2 :(得分:0)

你必须改变

 sArray[i] = lines[i].split(",");

sArray = lines[i].split(",");

答案 3 :(得分:0)

  

使用.split(“,”);在for中将.csv数据拆分成数组   循环?

这是一个编译时错误,即 String []无法转换为String 因为您正在尝试将String数组分配给String变量。

for (int i = 0; i != (maxEntries * 2); i++) {
            String s = lines[i];
            sArray = s.split(",");
        }