(Java) 如何在读取文件时跳过 space?
(Java) How can I skip a space when reading from a file?
我试图在退出代码时将单词、它们的词性和定义保存到一个文件中,然后在下次重新打开代码时读回它们。这是我的保存行:
WordListPrinter.println(name + " " + partOfSpeech + " " + definition);
这是我读过的代码
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String definition = readFromFile.nextLine();
}
每次我 运行 代码时,它都会向 definition
添加一个 space,因为 String definition = readFromFile.nextLine();
部分从保存行读取 " " + definition
.我试过了
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String useless = readFromFile.next();
String definition = readFromFile.nextLine();
}
去掉了space,但是去掉了space和定义的第一个字。我也试过 char useless = readFromFile.next().charAt(0);
,但只是将 space 保存到 useless
并删除了定义的第一个词。有没有办法让我在不删除第一个单词的情况下扫描并删除 space?
"problem" 来自混合 next()
和 nextLine()
调用,并且是 "expected behavior"。 (javadoc)
去除空白:
您可以(如果适用)始终如一地使用 next()
(没有 nextLine()
)
, 所以:
String definition = readFromFile.next();
String.trim 是 "never wrong"(从字符串中删除尾随白色 space):
String definition = readFromFile.nextLine().trim();
我试图在退出代码时将单词、它们的词性和定义保存到一个文件中,然后在下次重新打开代码时读回它们。这是我的保存行:
WordListPrinter.println(name + " " + partOfSpeech + " " + definition);
这是我读过的代码
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String definition = readFromFile.nextLine();
}
每次我 运行 代码时,它都会向 definition
添加一个 space,因为 String definition = readFromFile.nextLine();
部分从保存行读取 " " + definition
.我试过了
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String useless = readFromFile.next();
String definition = readFromFile.nextLine();
}
去掉了space,但是去掉了space和定义的第一个字。我也试过 char useless = readFromFile.next().charAt(0);
,但只是将 space 保存到 useless
并删除了定义的第一个词。有没有办法让我在不删除第一个单词的情况下扫描并删除 space?
"problem" 来自混合 next()
和 nextLine()
调用,并且是 "expected behavior"。 (javadoc)
去除空白:
您可以(如果适用)始终如一地使用
next()
(没有nextLine()
) , 所以:String definition = readFromFile.next();
String.trim 是 "never wrong"(从字符串中删除尾随白色 space):
String definition = readFromFile.nextLine().trim();