我有一个JTextArea(又名“notes”),用户可以在其中键入文本并以任何希望的格式对其进行空格。然后将字符串存储在文件中,其他字符串,以便稍后读取。应该稍后读取“notes”字符串并将其放回JTextArea,其格式与最初保存的格式相同。
如果您有2个文本区域,执行此操作将传输正确的格式:
JTextArea text1 = new JTextArea();
JTextArea text2 = new JTextArea();
text2.setText(text1.getText);
但是,写入文件是不同的,因为in.next();
读取一个字符串,而不是整个文本区域的值。
从文本文件中读取/多个字符串后,您如何能够保持正确的格式?
编辑:该文件看起来像这样:
String1
String2
some_long_string
12345
foobar
This string was taken from the JTextArea mentioned above. Imagine that this is all one String and has a lot of whitespace in it.
答案 0 :(得分:1)
JTextArea中的文本可以包含换行符,因此您必须在文件中写入一些内容来解释此问题。
一种方法是编写不太可能出现在JTextArea文本中的分隔符字符串:
String1
String2
some_long_string
12345
foobar
*** BEGIN JTEXTAREA TEXT ***
This string was taken from the JTextArea.
It contains multiple lines.
*** END JTEXTAREA TEXT ***
另一种方法是逃避换行。你可以使用URLEncoder和URLDecoder,只要你不介意文本在文件中不会是人类可读的:
String1
String2
some_long_string
12345
foobar
This+string+was+taken+from+the+JTextArea.%0AIt+contains+multiple+lines.
答案 1 :(得分:0)