swing使用Java从文件中提取文本
在一个JPanel中
是否可以显示特定区域中的某些文本行。txt文件
例如
用户从几个下拉列表中选择(我已经下载了这个部分)并单击submit,然后在右侧的JPanel中,我希望它从xxx中拉出(例如)第24-43行。文本
我找不到办法来完成这件事,有可能吗
你可以在下面搜索框中键入要查询的问题!
在一个JPanel中
是否可以显示特定区域中的某些文本行。txt文件
例如
用户从几个下拉列表中选择(我已经下载了这个部分)并单击submit,然后在右侧的JPanel中,我希望它从xxx中拉出(例如)第24-43行。文本
我找不到办法来完成这件事,有可能吗
# 1 楼答案
Reading a specific line from a text file in Java
http://bitsofinfo.wordpress.com/2009/04/15/how-to-read-a-specific-line-from-a-very-large-file-in-java/
How to read a specific line using the specific line number from a file in Java?
# 2 楼答案
看看
FileReader
包装的BufferedReader
小更新
很大程度上取决于文件的大小。一次读取文件并将其存储在
java.util.List
中,然后在每次请求时读取,效率会更高,但这取决于可用内存的多少# 3 楼答案
我想知道你是不是把这件事搞得太复杂了。您只需使用Scanner类从文件中读取文本。然后,正如蒂姆在评论中提到的,你可以将扫描器接收到的任何内容加载到列表结构中,然后打印出其中的行(尽管老实说,你甚至可以在没有列表存储结构的情况下这样做,尽管它确实让操作变得更容易)。然后,对文本窗格使用setText方法,然后就可以了
ListInterface可以替换为任何存储类型。蒂姆再次提出了一份同样有效的清单。您也可以只使用一个简单的数组,尽管这样您就无法编写自己的方法来与它进行良好的接口
如果您不知道如何使用接口并在类ListArray中为其编写自己的方法,请替换
与
其中,1000应该是一个关于数组需要有多大的最佳猜测。它不需要是正确的,如果它进行添加,并且没有足够的空间,那么数组的容量将翻倍,但这是一个O(n)操作,因此,如果您对文件最多包含多少行有很好的了解,那么最好避免使用它。同时替换:
与