开发者社区> 问答> 正文

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

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

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无论如何都只是节省了空间并删除了定义的第一个单词。我有没有办法在不删除第一个单词的情况下扫描并删除空格?

问题来源:Stack Overflow

展开
收起
montos 2020-03-25 21:06:02 1105 0
1 条回答
写回答
取消 提交回答
  • “问题”来自next()与nextLine()调用的混合,是“预期行为”。(javadoc

    摆脱空白:

    • 您可以(如果适用)一致地next()(不使用nextLine())与我们联系,因此:
      String definition = readFromFile.next();
      
    • String.trim是“绝不错误”(从字符串中删除结尾的空格):
      String definition = readFromFile.nextLine().trim();
      

    回答来源:Stack Overflow

    2020-03-25 21:07:45
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载