gpt4 book ai didi

java - CSV - java.util.scanner 跳过一个值并选择下一个值

转载 作者:行者123 更新时间:2023-11-30 07:34:33 25 4
gpt4 key购买 nike

如果有一个小问题,希望你能告诉我一个更好的方法来解决它。因此,我正在使用扫描仪类读取 CSV 文件。

scanner.useDelimiter("~");

while (scanner.hasNext()) {
if (scanner.next();.equalsIgnoreCase("einfuegen_pdf")) {
//then give me the next element, which is not ""
}
}

在如下所示的 CSV 文件中,我正在查找 “Einfuegen_PDF” 之后的值。在本例中:$Datei{MR-Test-PDF-01}

~~~Einfuegen_PDF~~$Datei{MR-Test-PDF-01}~L~M~0~0~0~0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

到目前为止,我的解决方案有效,但我正在寻找一种更优雅的方法来处理这个问题。

scanner.useDelimiter("~");

List<String> csvContent = new ArrayList<>();
int count = 0;
boolean hit = false;

while (scanner.hasNext()) {
String element = scanner.next();

if (element.equalsIgnoreCase("einfuegen_pdf")) {
hit = true;
count = 1;
} else if (hit && count == 1) {
count = 2;
} else if (hit && count == 2) {
csvContent.add(element);
hit = false;
count = 0;
}
}

预先感谢您提供任何建议或解决方案。

到目前为止

最佳答案

扫描每行并尝试以下操作如何。

    while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] tokens = line.split("~");
String pdf = tokens[3];
if (pdf.equalsIgnoreCase("einfuegen_pdf")) {
csvContent.add(tokens[5]);
}
}

这将减少循环的迭代次数。 PDF 文件位于数组索引 3 处,您要查找的 CSV 内容位于索引 5 处。

关于java - CSV - java.util.scanner 跳过一个值并选择下一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586296/

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