(Java)读取文件时如何跳过空格?
我试图在退出代码时将单词、它们的发言部分和定义保存到一个文件中,然后在下次重新打开代码时将它们读回。这是我的保存行:(Java)读取文件时如何跳过空格?,java,java.util.scanner,Java,Java.util.scanner,我试图在退出代码时将单词、它们的发言部分和定义保存到一个文件中,然后在下次重新打开代码时将它们读回。这是我的保存行: WordListPrinter.println(name + " " + partOfSpeech + " " + definition); 这是我的阅读代码 while(readFromFile.hasNextLine()){ String name = readFromFile.next(); String POS = rea
WordListPrinter.println(name + " " + partOfSpeech + " " + definition);
这是我的阅读代码
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String definition = readFromFile.nextLine();
}
每次运行代码时,它都会在定义中添加一个空格,因为字符串定义=readFromFile.nextLine()代码>部件从保存行读取“”+定义
。我试过了
while(readFromFile.hasNextLine()){
String name = readFromFile.next();
String POS = readFromFile.next();
String useless = readFromFile.next();
String definition = readFromFile.nextLine();
}
去掉空格,但它去掉了空格和第一个单词的定义。我还尝试了char untible=readFromFile.next().charAt(0)
,但这只是将空间保存为无用,并删除了定义的第一个单词。我有没有办法在不删除第一个单词的情况下扫描并删除空格?这个“问题”来自于将next()
与nextLine()
调用混合,是“预期行为”。()
要消除空白,请执行以下操作:
- 您可以(如果适用)始终使用我们的
next()
(不使用nextLine()
)
,因此:
- 是“永不出错”(从字符串中删除尾随空格):
关于readFromFile.nextLine().trim()
?我是否可以使用它将字符串保存到无用的?trim()
返回一个新字符串,其开头/结尾不带空格。尝试将其保存到定义。这很有效,谢谢!是否应将其添加为答案?使用next()
无效,因为定义长度超过一个单词,但trim()
有效。谢谢
String definition = readFromFile.next();
String definition = readFromFile.nextLine().trim();