Java 将文本中的数据加载到不同的字符串中
我有一个文本文件,数据用制表器分开。我的目标是将每个数据加载到不同的字符串中。我的文本文件看起来像这样:abc abcde abcdef,我有3个字符串:x,y,z。我的目标是使用扫描仪将abc加载到x,abcde加载到y,abcdef加载到z。但是,我的代码正在将所有3个字符串加载到单个字符串x中。我如何实现我的目标?谢谢 我的代码如下所示:Java 将文本中的数据加载到不同的字符串中,java,Java,我有一个文本文件,数据用制表器分开。我的目标是将每个数据加载到不同的字符串中。我的文本文件看起来像这样:abc abcde abcdef,我有3个字符串:x,y,z。我的目标是使用扫描仪将abc加载到x,abcde加载到y,abcdef加载到z。但是,我的代码正在将所有3个字符串加载到单个字符串x中。我如何实现我的目标?谢谢 我的代码如下所示: public void Stringu(String file) { Scanner sc = null; String x;
public void Stringu(String file) {
Scanner sc = null;
String x;
String y;
String z;
try {
sc = new Scanner(new File(file));;
sc.useDelimiter("/t");
while (sc.hasNext()) {
x = sc.next();
y = sc.next();
z = sc.next();
}
} catch (FileNotFoundException e) {
System.err.println("file not found");
} finally {
if (sc != null) {
sc.close();
}
}
}
这里的解决方案非常简单。你有两个选择
sc.useDelimiter(“\t”)
用反斜杠代替/t
。反斜杠表示特殊字符(在本例中为制表符)sc.useDelimiter(“\t”)代码>全部放在一起。您可以这样做,因为默认情况下,sc.next()
已经用空格分隔内容
将while循环中的逻辑更改为
while (sc.hasNext()) {
String[] split = sc.nextLine().split(" ");
x = split[0];
y = split[1];
z = split[2];
}
nextLine()代码>