【发布时间】:2021-05-21 01:31:00
【问题描述】:
您如何一次从JTextArea 读取文本一行?
我只能在文档中找到JTextArea.getText(<no parameters>) 函数,但没有关于基于行号的阅读。我可以获得给定行的开头和结尾的索引,以及总行数,但我不知道如何一次提取一行数据。
【问题讨论】:
-
如果文本在 JTextArea 中,那么它已经在内存中。你所说的“嘶嘶作响”是什么意思?
-
告诉我们这些数据以及您需要如何处理它;也许我们可以帮助您理解
Stream和BufferedReader文档。同时,您可能想尝试this section of the Java Tutorials 以快速了解流。 -
除了 Kevin Anderson 链接的教程之外,the package documentation 提供了更一般的概述(而类文档更具体)。一般来说,我不理解您对文档的问题。如果您更喜欢短而草率,那么互联网上有很多选择。
-
所以如果我可以逐行处理它,那么我会很高兴, - 所以你可以逐行读取数据。我不明白这个问题。 与 BufferedReader 结合 - 您只需要一个 FileReader 与 e BufferedReader 结合,然后使用 readLine(...) 方法。使用这些关键字搜索站点以查找示例。或者阅读你的教科书。文件 I/O 是任何教科书或基础教程中涵盖的主题。我建议您先学习基本的 I/O,然后再担心要复杂得多的流。
-
这里still的根本问题是
JTextArea的内容已经在内存中,所以“从JTextArea读取文本而不加载将字符串写入内存”完全没有意义。 “3 MB 的原始文本”也不是一个令人印象深刻的数字(我们有 2021 年)。String可以毫无问题地包含十亿个字符,因此“一个字符串的输出包含太多字符”似乎是一个不成熟的假设。或发布代码以重现实际问题。
标签: java swing java-stream awt jtextarea