(Java)从文件读取时如何跳过空格? [重复]

问题描述 投票:0回答:1

我正在尝试退出代码时将单词,其词性和定义保存到文件中,然后在下次重新打开代码时将它们读回。这是我的保存行:

WordListPrinter.println(name + " " + partOfSpeech + " " + definition);

这是我读取的代码

while(readFromFile.hasNextLine()){
            String name = readFromFile.next();
            String POS = readFromFile.next();
            String definition = readFromFile.nextLine();
}

每次运行代码时,它都会在definition上添加一个空格,因为String definition = readFromFile.nextLine();部分从保存行读取了" " + definition。我尝试过

while(readFromFile.hasNextLine()){
            String name = readFromFile.next();
            String POS = readFromFile.next();
            String useless = readFromFile.next();
            String definition = readFromFile.nextLine();
}

删除空格,但删除了空格和定义的第一个单词。我也尝试过char useless = readFromFile.next().charAt(0);,但是只是将空间保存到useless,并且无论如何都删除了定义的第一个单词。我有没有办法在不删除第一个单词的情况下扫描并删除空格?

java java.util.scanner
1个回答
0
投票

“问题”来自next()nextLine()调用的混合,是“预期行为”。 (javadoc

摆脱空白:

  • 您可以(如果适用)一致地使用我们next()(没有nextLine()),所以:

    String definition = readFromFile.next();
    
  • [String.trim绝对正确”(从字符串中删除结尾的空格):

    String definition = readFromFile.nextLine().trim();
    
© www.soinside.com 2019 - 2024. All rights reserved.