【问题标题】:Problem with reading a text file and getting length of each line, while simultaneously adding them to a string if of the right length读取文本文件并获取每行长度的问题,同时将它们添加到字符串中(如果长度正确)
【发布时间】:2025-12-10 05:50:02
【问题描述】:

所以我试图读取一个文本文件并尝试从中只选择正确长度的字符串,但每次我检查长度时,文件扫描器都会跳过一行。有没有办法防止这种/或不同的解决方案?

Scanner fileScanner = new Scanner(fileName);

File file = new File("path" + fileName);

fileScanner = new Scanner(file);

 String cache = "";
 while (fileScanner.hasNextLine()) {
     if (fileScanner.nextLine().length() < 3){
         cache = cache + fileScanner.nextLine();
     }
 }

【问题讨论】:

标签: java text-files java.util.scanner string-length


【解决方案1】:

您在代码中调用了两次nextLine() 方法(一次在if 语句中,一次在将其连接到cache 时)。您应该只访问它一次并将其存储在一个变量中,如下所示:

while (fileScanner.hasNextLine()) {
  String line = fileScanner.nextLine();
  if (line.length() < 3){
    cache = cache + line;
  }
}

【讨论】:

    最近更新 更多