gpt4 book ai didi

java - 检查 .csv 单元格是否为空

转载 作者:行者123 更新时间:2023-11-29 02:59:27 27 4
gpt4 key购买 nike

我正在尝试将一个 .csv 表格添加到我的二维数组中,但想要整理出所有空单元格。

这是我的代码目前的样子:

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
}

我的 .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 然后 actiaves Exception abcdefg,但是当我使用 if(scanner.next() == null || scanner.next().equals("")) 时,j 只循环直到它的值为 3,然后触发异常 abcdefg

我错过了什么/我的错误在哪里,为什么它会跳入异常,即使仍然有单元格不为空?

最佳答案

您的 if 条件没问题,只是您不想调用 scanner.next() 两次,这会“吃掉”一些输入。

您可能希望将 scanner.next() 的值设置为一个变量,然后在 if 条件下检查变量值:

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

关于java - 检查 .csv 单元格是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35962124/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com