JSP数据写入TXT,如何换行

2024-12-01 11:43:48
推荐回答(3个)
回答1:

换行有专门的字符来换行:/r/n
各系统的换行应当是
\r ---Mac
\n ---Unix/Linux
\r\n ---Windows
因为你是在windows界面下,所以若是想要换行,应该用/r/n。

回答2:


你把流换成
FileOutputStream fos=new FileOutputStream(String FilePath);

PrintWriter pw=new PrintWriter(fos);

pw.writer(JtextareaClass.jtextarea1.getText() );

试试

我写了一个,试了没问题,解决办法就是对JtextArea添加键盘监听,当按下enter键时自动添加一个换行符\r,全部代码如下:

package test;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.FileOutputStream;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class Test implements ActionListener,KeyListener{
JTextArea jta;

/**
* 空参构造方法
*/
public Test() {
JFrame jf=new JFrame("Test");
JPanel jp=new JPanel();
jta=new JTextArea(10,20);
jta.addKeyListener(this);//添加键盘监听
JButton b=new JButton("输出");
b.addActionListener(this);

jp.add(jta);
jp.add(b);
jf.add(jp);

jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

@Override
public void actionPerformed(ActionEvent e) {
try {
FileOutputStream fos=new FileOutputStream("D:/1.txt");
fos.write(jta.getText().getBytes());
fos.close();
} catch (Exception e1) {
e1.printStackTrace();
}

}

/**
* 键盘按下时执行
*/
@Override
public void keyPressed(KeyEvent e) {
//当按下Enter键时,插入一个换行符(Enter键的keycode为10)
if(e.getKeyCode()==10){
jta.append("\r");
}
}

@Override
public void keyReleased(KeyEvent e) {
}

@Override
public void keyTyped(KeyEvent e) {
}

/**
* main方法
* @param args
*/
public static void main(String[] args) {
new Test();
}
}

回答3:

windows 下的一切换行都是 \r\n
你写一个\n当然不可能换行了