BufferedReader br = new BufferedReader(new FileReader(
jfc.getSelectedFile()));
setTitle(jfc.getSelectedFile().toString());
text.setText("");
String lineSeparator = System.getProperty("line.separator");
String str;
while((str = br.readLine()) != null) {
text.append(str);
text.append(lineSeparator);
}
br.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(text.getText());
bw.close();上面是我在记事本中输入和输出文本用的方法 但我在JTextArea里写入 回车换行 时
输出文本里就是几个黑色的长方形 那东西用写字版打开又是正常的显示 换行
请问我的问题出在哪了呢? 用什么方法能解决这个问题?
jfc.getSelectedFile()));
setTitle(jfc.getSelectedFile().toString());
text.setText("");
String lineSeparator = System.getProperty("line.separator");
String str;
while((str = br.readLine()) != null) {
text.append(str);
text.append(lineSeparator);
}
br.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(text.getText());
bw.close();上面是我在记事本中输入和输出文本用的方法 但我在JTextArea里写入 回车换行 时
输出文本里就是几个黑色的长方形 那东西用写字版打开又是正常的显示 换行
请问我的问题出在哪了呢? 用什么方法能解决这个问题?
你可以调试一下,看 Enter键在后台转换成什么字符了,有的换行符在写字板里支持但记事本不支持
BatangChe
Courier
Courier New
DotumChe
Fixedsys
GulimChe
GungsuhChe
Lucida Console
Lucida Sans Typewriter
MingLiU
MS Gothic
MS Mincho
Terminal
仿宋_GB2312
楷体_GB2312
隶书
宋体-方正超大字符集
新宋体
幼圆
换个专业点的文本编辑工具就知道了。
windows下的line.separator=\r\n。
你用这个没错,但记事本不见得认的出来。
你可在记事本中写入换行,再用java读出来。然后把读出来的换行符与\r\n、\r、\n进行比较。