逐行写入文本文件
Writing into textfile line by line
我正在尝试从 jtextarea
中写入文本,并且应该将其保存为文本文件,因为它 is.But 当 运行 文本在一行中写入的程序而不是按行写入时行。
例如:
我的输入:
abcd
eghi
asdasddkj
但得到这样的输出
abcdeghiasdasddkj
这是我的代码:
private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
String text = jTextArea1.getText();
File file = new File("D:/sample.txt");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pl=new PrintWriter(bw);
pl.println(text);
System.out.println(text);
pl.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
the texts is writing in a single line not writing line by line
Document
只存储“\n”表示换行字符串。换行字符串因您使用的 OS 而异。一些编辑器足够聪明,可以识别多个换行符字符串,而其他编辑器则不能,所以你得到的是单行。
i am trying to write texts from jtextarea and should save it as a textfile
不要自己做 IO。
而是使用 JTextArea
API 提供的 write(...)
方法。
camickr贴出的答案完美解决。但是不需要使用开始和结束偏移的方法。 JTextArea.wtite() 将处理它。它甚至会为您处理行分隔符。
对于所需的输出,您的 actionPerformed() 应该是这样的..
but1.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
String text = jta.getText();
File file = new File("D:/sample.txt");
FileWriter fw;
try
{
fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
jta.write(bw);
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
});
我正在尝试从 jtextarea
中写入文本,并且应该将其保存为文本文件,因为它 is.But 当 运行 文本在一行中写入的程序而不是按行写入时行。
例如:
我的输入:
abcd
eghi
asdasddkj
但得到这样的输出
abcdeghiasdasddkj
这是我的代码:
private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
String text = jTextArea1.getText();
File file = new File("D:/sample.txt");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pl=new PrintWriter(bw);
pl.println(text);
System.out.println(text);
pl.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
the texts is writing in a single line not writing line by line
Document
只存储“\n”表示换行字符串。换行字符串因您使用的 OS 而异。一些编辑器足够聪明,可以识别多个换行符字符串,而其他编辑器则不能,所以你得到的是单行。
i am trying to write texts from jtextarea and should save it as a textfile
不要自己做 IO。
而是使用 JTextArea
API 提供的 write(...)
方法。
camickr贴出的答案完美解决。但是不需要使用开始和结束偏移的方法。 JTextArea.wtite() 将处理它。它甚至会为您处理行分隔符。
对于所需的输出,您的 actionPerformed() 应该是这样的..
but1.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
String text = jta.getText();
File file = new File("D:/sample.txt");
FileWriter fw;
try
{
fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
jta.write(bw);
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
});