Java 为什么useDelimiter是这样工作的?
我一直在尝试读取包含以下文本文件的文件夹:Java 为什么useDelimiter是这样工作的?,java,java.util.scanner,delimiter,Java,Java.util.scanner,Delimiter,我一直在尝试读取包含以下文本文件的文件夹: K.Love,CLE,miss,2 K.Leonard,TOR,miss,2 K.Love,CLE,make,1 ... 我在做一些测试,出于某种原因,当我使用usedilemeter忽略或使逗号消失时,我遇到了一个问题。我将首先显示代码: import java.io.*; import java.util.*; public class test { public static void main(String[] args) thro
K.Love,CLE,miss,2
K.Leonard,TOR,miss,2
K.Love,CLE,make,1
...
我在做一些测试,出于某种原因,当我使用usedilemeter
忽略或使逗号消失时,我遇到了一个问题。我将首先显示代码:
import java.io.*;
import java.util.*;
public class test {
public static void main(String[] args) throws FileNotFoundException {
File inputFile = new File("src\\main\\resources\\games\\game1.txt");
Scanner reader = new Scanner(inputFile);
reader.useDelimiter(",");
ArrayList<String> names = new ArrayList<>();
while (reader.hasNext()) {
String input = reader.next();
names.add(input);
}
System.out.println(names.get(3));
reader.close();
}
}
但它并没有打印出来:
2
K.Leonard
当我将位置更改为数字4时,它会打印:
TOR
(团队名称)。您将分隔符定义为,
,这意味着换行符不再是分隔符。要获得预期的行为,可以使用正则表达式,其中、
或换行符被视为分隔符:
reader.useDelimiter("[,\n]");
您将分隔符定义为
,
,这意味着换行符不再是分隔符。要获得预期的行为,可以使用正则表达式,其中、
或换行符被视为分隔符:
reader.useDelimiter("[,\n]");
“2”和“K.Leonard”之间没有
,
,所以为什么它们会独立获取?哦,很抱歉问这个问题,但我该如何解决?我对编程非常陌生,很抱歉我的无知。最好使用CSV库,而不是扫描仪。在“2”和“K.Leonard”之间没有,
,所以为什么它们会独立获取?哦,很抱歉问这个问题,但我该如何解决呢?我对编程很陌生,很抱歉我的无知。最好使用CSV库而不是扫描仪all@UnNameSAS这个regexp有一个严重的问题-它不能在windows或windows格式的文本输入上工作。请尝试,|\r?\n“
@UnNameSAS该regexp存在严重问题-它在windows或windows格式的文本输入上不起作用。请尝试,|\r?\n“
。