我为JEditorPane实现了DocumentListener(需要有关insertUpdate(DocumentEvent e)方法的帮助)。如何读取最后一个单词或最后一行(行由'\ n'分隔,单词由''分隔)?如何读取DocumenListener中的最后一个字或最后一行
0
A
回答
2
为了让您的JEditorPane中的最后一行,拆分编辑器中的文本上\n
,如下图所示:
String text = editor.getText();
String[] lines = text.split("\n");
String lastLine = lines[lines.length-1];
System.out.println("Last line: " + lastLine);
同样,拿到最后一个字,分为上空间的最后一行。
+0
不是一个非常有效的解决方案,特别是对于大型文件。您应该利用Docuement结构,因为文本已经被解析为行。 – camickr 2011-04-13 15:27:24
3
实用程序类可以与格式化内容一起使用,例如, html
public static final int getWordStart(JTextComponent c, int offs) throws BadLocationException
public static final int getWordEnd(JTextComponent c, int offs) throws BadLocationException
+0
+1,更好的解决方案,可用于任何大小的文件。所有你需要知道的是document.getLength(),你可以得到最后一个单词的偏移量。然后你使用document.getText(...)方法来获取这个单词。如果你想要最后一行,你可以使用getLineStart/End方法来获得偏移量。 – camickr 2011-04-13 15:31:57
相关问题
- 1. 从文件中读取最后一行
- 2. 如何阅读Scanner.nextLine()的最后一行?
- 3. 读取文件的最后一行
- 4. 如何使用lseek读取文件的最后一个字符
- 5. python只读最后一行
- 6. 如何从python文件的最后一行读取第一个字符
- 7. fgets()PHP读取最后一行?
- 8. Fortran read()读取最后一行两次?
- 9. h:dataTable,HtmlDataTable不断读取最后一行
- 10. 如何读取python中最后几行?
- 11. 一行一行地读取文件,但是反过来(最后一行先,然后是最后一行等)
- 12. 读取文件中最后一行的最快方法
- 13. 删除字符串中最后一个空格后的最后一个字符
- 14. 如何获取textarea的最后一行?
- 15. 如何不读取文件中的最后一行?
- 16. 读取文件中的第一行和最后一行
- 17. Arraylist读取最后一个元素作为第二个最后一个元素
- 18. 循环只读取最后一个值
- 19. 函数不读取最后一个值
- 20. 从文件读取删除文档中最后一个字符串的最后一个字母?
- 21. 字符串:提取最后六个字符后的最后一个/
- 22. 最后一个唯一行
- 23. 如何在读取文本文件时在每行中找到最后一个数字后跳至下一行?
- 24. 如何获取上一个或最后一个项目?
- 25. 如何取回最后一个单词或字符在PHP
- 26. 如何获取Google Spreadsheet中最后一个非空字段的最后一个和第二个字段?
- 27. 如何从文件中读取最后一行?
- 28. 如何读取1GB的文件的最后一行 - java的
- 29. 如何从DataFrame获取最后一行?
- 30. 如何获取PHP中最后一个字符串的字符?
我不确定你为什么使用JEditorPane。 JEditorPanes用于显示HTML。 HTML不使用行的概念。您只需添加文本,HTML将在适当时包装文本。如果你想强制一个新行,那么你使用
标签。我认为你应该使用JTextArea或JTextPane来处理常规文本。 – camickr 2011-04-13 15:35:01