Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查.csv单元格是否为空_Java_Csv - Fatal编程技术网

Java 检查.csv单元格是否为空

Java 检查.csv单元格是否为空,java,csv,Java,Csv,我正试图将一个.csv表添加到我的2d数组中,但希望对所有空单元格进行排序 以下是我的代码当前的外观: try { BufferedReader reader = new BufferedReader(new FileReader(upload.pathName)); String strLine; for (int i = 0; (strLine = reader.readLine()) != null; i++) {

我正试图将一个.csv表添加到我的2d数组中,但希望对所有空单元格进行排序

以下是我的代码当前的外观:

try {
        BufferedReader reader = new BufferedReader(new FileReader(upload.pathName));
        String strLine;

        for (int i = 0; (strLine = reader.readLine()) != null; i++) {
            Scanner scanner = new Scanner(strLine);
            scanner.useDelimiter(";");
            int j = 0;
            while (scanner.hasNext()) {
                try {
                    if (scanner.next() == null || scanner.next().equals("")) {
                        System.out.println("this cell is empty");
                        j++;
                    } else {
                     array[i][j] = scanner.next();
                     j++;
                    }
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                }
            }
            scanner.close();
        }
        reader.close();
    } catch (Exception abcdefg) {
        //Exception
    }
my.csv看起来像这样:

value1;value2;value3;value5;value6;value7
value8;value9;value10;...
这条线行得通吗

if (scanner.next() == null || scanner.next().equals("")) 
有人知道为什么我只使用if(scanner.next()==null)或if(scanner.next().equals(“”)j循环直到它的值为5,然后激活异常abcdefg,但当我使用if(scanner.next()==null | | scanner.next().equals(“”)j循环直到它的值为3,然后触发异常abcdefg


我遗漏了什么/我的错误在哪里?为什么它会跳转到异常中,即使还有不为空的单元格?

scanner.next()
值存储到如下变量中。在条件中使用变量。由于两次调用
next()
,指针移动了两次

String value = Scanner.next()

你为什么不使用类似于读CSV的东西呢。有许多这样的库可用于读取CSV文件。

scanner.next()
值存储到如下变量中。在条件中使用变量。由于两次调用
next()
,指针移动了两次

String value = Scanner.next()

你为什么不使用类似于读CSV的东西呢。有许多这样的库可用于读取CSV文件。

您的if条件正常,但您不想调用
scanner.next()
两次,这将“吃掉”一些输入

您需要将
scanner.next()
的值设置为变量,然后在if条件下检查变量值:

String input = scanner.next(); 
if(input == null || input.equals("")){
    //Do something
}

您的if条件正常,只是您不想调用
scanner.next()
两次,这将“吃掉”一些输入

您需要将
scanner.next()
的值设置为变量,然后在if条件下检查变量值:

String input = scanner.next(); 
if(input == null || input.equals("")){
    //Do something
}