Java 检查.csv单元格是否为空
我正试图将一个.csv表添加到我的2d数组中,但希望对所有空单元格进行排序 以下是我的代码当前的外观: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++) {
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
}