您如何一次一行地从 JTextArea 中读取文本?

问题描述

您如何一次读取 JTextArea 行中的文本?

我只能在文档中找到 JTextArea.getText(<no parameters>) 函数,但没有关于基于行号的阅读。我可以得到给定行的开始和结束的索引,以及总行数,但我不知道如何一次提取一行数据。

解决方法

我不明白这个问题。

为什么要将整个文件读入 JTextArea,然后读取文本区域中的文本并解析数据?

我回答的重点是你:

  1. 逐行读取 CSV 文件
  2. 然后解析每一行以获得所需的 3 列数据
  3. 如果您确实需要文本文件中的全部数据,那么您只需使用 JTextArea 的 append(...) 方法在读取数据时添加每一行数据。

JTextArea 的唯一输出是 JTextArea.getText()

如果您真的想从文本区域获取数据,请阅读 JTextArea API。以下方法可以帮到你:

  1. getText(...) 方法,您可以在其中指定“偏移量”和“长度”参数,以便获得一行文本
  2. getLines() 为文本区域中的文本行数
  3. getLineStartOffset(...)getLineEndOffset(...)

所以现在您可以创建一个循环并获取每一行的文本。