繁体   English   中英

将文本文件的整个行逐行存储在数组中(不是逐字;包含空格)

[英]Store entire line of text file in array line by line (not word by word; include spaces)

我正在编写一个程序,其中文本文件的内容将逐行存储在数组中。 我可以使用它,但是一次只能存储一个单词。

  try ( Scanner fin = new Scanner ( new File("toDoItems.txt") ); ) 
    {
    for (int i = 0; i < listCount && fin.hasNext(); i++) 
          {
          textItem[i] = fin.next();
          }
    }

listCount变量从顶部开始存储从文件中读取多少行。 相反,它告诉它要读取多少个单词。 在不知道每一行可能有多长时间的情况下,如何将整个行读入数组?

我将数组的大小设置为比我需要的大得多,并且我正在使用以下内容一次仅显示一行内容,并且仅显示正在使用的内容(这样可以避免一长串的空值)

    for (int i = 0; i < listCount; i++) 
          {
              String temp = textItem[i];
              System.out.println(temp);
          }

(为此,我仅限于数组。没有数组列表或列表)

注意:我能找到的大多数类似问题仅是试图存储包含单个单词的行。

fin.hasNext()更改为fin.hasNextLine()并将fin.next()更改为fin.nextLine()

为了将来参考,您可以在官方文档中找到此类信息

Java8,你可以使用限制由线产生的文件列表内容行:

 List<String> contents = Files.lines(Paths.get("toDoItems.txt")).limit(listCount).collect(Collectors.toList());

fin.next()将通过token获取下一个输入。 它应该是fin.nextLine()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM