将多行JTextArea写入txt文件

Bee*_*eef 4 java swing stringbuffer jtextarea filewriter

所以我有一个JTextArea用户输入,然后当他们点击一个按钮,它将它写入文本文件,我有两个setLineWrapsetWrapStyleWord设置trueJTextArea.

我想写文本文件在文本框中显示的确切方式.

我试图replace("\n", System.getProperty("line.separator"))String保持JTextArea其工作的内容上做一个,但是只有当用户在键入输入时实际点击返回键时,但是如果用户只是继续键入并命中一行的结尾,那么它跳转到它下面的线,replace不起作用.

我也试过使用a StringBuffer,我计算了在线上适合多少个字符,然后在for loop inserting每一行的末尾运行一个新行,所以对于第一行我会将它添加到位置90,第二行180,第三行270等等.但我很快意识到,并非在所有情况下工作,因为有些字符是比别人例如,你可以容纳下更多的小j'上比单一线S p的.

我想做的只是想办法计算一行的结尾,这样我才知道insert新行的位置,但我也对其他建议持开放态度.谢谢.如果你认为看到我的一些代码就会有所帮助.

更新 而不是实现代码来执行此操作,我与那些将成为使用此程序的唯一人之一的人进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在他的word中检查了wordWrap然后,记事本格式设置将消除他必须使用侧滚动以读取整行,感谢您的输入

Sta*_*avL 5

使用Utilities课程

public static final int getRowStart(JTextComponent c, int offs)
public static final int getRowEnd(JTextComponent c, int offs)
Run Code Online (Sandbox Code Playgroud)

你传递偏移量并获得行开始和结束的偏移量