Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Java)读取文件时如何跳过空格?_Java_Java.util.scanner - Fatal编程技术网

(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();