CSV输入到java

时间:2016-10-12 18:24:02

标签: java arrays csv

我有一个read()方法,在里面我想分开Strings(它们之间有空格)并将它们放在一个二维数组中,但在此之前我摆脱了所有的空间。数组初始化后,它将被赋予CSV构造函数,并创建自己的2D数组。 问题是我总是得到以下错误:"变量sr可能没有被初始化"在CSV csv =新CSV(sr)。 如何确保我的数组获得有效的String?

private String[][] tomb;

private CSV(String[][] t2) {
    tomb = new String[t2.length][];
    for(int i = 0; i < t2.length; i++) {
        tomb[i] = new String[t2[i].length];
        for(int j = 0; j < t2[i].length; j++) {
            tomb[i][j] = t2[i][j];
        }
    }
}

public static CSV read(Scanner sc) {

    String[][] sr;    
    int n = 0;
    while (sc.hasNextLine()) 
    {
        String line = sc.nextLine();
        String[] str = line.split(",");
        sr = new String[str.length][];
        for (int i = 0; i < str.length; i++) {
            sr[i][n].replaceAll("\\s+","");

        }
        n++;
    }

    CSV csv = new CSV(sr);
    return csv;

}

1 个答案:

答案 0 :(得分:1)

您可以通过在初始化中将sr设置为null来解决错误:

String[][] sr = null;

如果您想确保sr设置正确,可以在while循环完成后检查sr是否仍为null