一个很简单的程序:在一本JTextArea里面输入如下内容:
A
B
C
D
想通过如下程序把这些内容输出到一个文件里面,但文件里面显示的是一行,哪位高手能教我怎样按原来的格式(即四行)输出到文件里面?感激*10000000000000000000000000。
附源代码:import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Iterator;
public class Test extends JFrame implements ActionListener{
JButton bt;
JTextArea ta;
public Test() {
Container cp=getContentPane();
cp.setLayout(null);
ta=new JTextArea();
JScrollPane sp=new JScrollPane(ta);
sp.setBounds(0,0,400,450);
bt=new JButton("输出");
bt.setBounds(170,470,60,50);
bt.addActionListener(this);
cp.add(sp);
cp.add(bt);
setBounds(200,100,400,550);
setVisible(true);
} @Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt){
try{
File outputFile=new File("C://输入文件.txt");
FileWriter fileWriter=new FileWriter(outputFile);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
String output=ta.getText();
bufferedWriter.write(output, 0,output.length());
bufferedWriter.flush();
fileWriter.close();
bufferedWriter.close();
}
catch (IOException ee) {}
}
}
public static void main(String[] args) {
Test frm=new Test();
}
}
A
B
C
D
想通过如下程序把这些内容输出到一个文件里面,但文件里面显示的是一行,哪位高手能教我怎样按原来的格式(即四行)输出到文件里面?感激*10000000000000000000000000。
附源代码:import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Iterator;
public class Test extends JFrame implements ActionListener{
JButton bt;
JTextArea ta;
public Test() {
Container cp=getContentPane();
cp.setLayout(null);
ta=new JTextArea();
JScrollPane sp=new JScrollPane(ta);
sp.setBounds(0,0,400,450);
bt=new JButton("输出");
bt.setBounds(170,470,60,50);
bt.addActionListener(this);
cp.add(sp);
cp.add(bt);
setBounds(200,100,400,550);
setVisible(true);
} @Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt){
try{
File outputFile=new File("C://输入文件.txt");
FileWriter fileWriter=new FileWriter(outputFile);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
String output=ta.getText();
bufferedWriter.write(output, 0,output.length());
bufferedWriter.flush();
fileWriter.close();
bufferedWriter.close();
}
catch (IOException ee) {}
}
}
public static void main(String[] args) {
Test frm=new Test();
}
}
解决方案 »
- 关于java不能动态决定数组大小的疑问
- JTree折叠和展开时用+和-号显示
- JAVA基础题目,有一些细节没有搞清楚,希望大家帮忙解决一下?
- 【新手提问】为什么JTable是平均分配列宽呢?可不可以弄成按最大内容分配列宽?
- “包”使用的小麻烦
- 请问怎么使用java ...运行一个带package名的java文件?谢谢!
- java里这样的出错信息一般表示什么?
- javamail再问,怎麽通过UID取message
- Java是否有能够将经过quoted-printable编码的字符序列转换为原文的函数?
- 谁知道下面的程序错误的原因
- jfreechart如何禁用默认的右键菜单并添加自己写的右键弹出菜单?
- java 多个tif打包成PDF
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;public class Test extends JFrame implements ActionListener {
JButton bt;
JTextArea ta; public Test() {
Container cp = getContentPane();
cp.setLayout(null);
ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
sp.setBounds(0, 0, 400, 450);
bt = new JButton("输出");
bt.setBounds(170, 470, 60, 50);
bt.addActionListener(this);
cp.add(sp);
cp.add(bt);
setBounds(200, 100, 400, 550);
setVisible(true); } public void actionPerformed(ActionEvent e) {
if (e.getSource() == bt) {
try {
File outputFile = new File("C://输入文件.txt");
FileWriter fileWriter = new FileWriter(outputFile);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
//得到换行符,这种方式得到的更加通用
String lineseparator = System.getProperty("line.separator");
String output = ta.getText();
//替换里面的回车为换行
output = output.replaceAll("\\n", lineseparator);
bufferedWriter.write(output, 0, output.length());
bufferedWriter.flush();
fileWriter.close();
bufferedWriter.close();
} catch (IOException ee) {
}
}
} public static void main(String[] args) {
Test frm = new Test();
}}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == bt) {
try {
File outputFile = new File("C://输入文件.txt");
FileWriter fileWriter = new FileWriter(outputFile);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
String output = ta.getText();
String output1 = output.replaceAll("\n", "\r\n");
bufferedWriter.write(output1, 0, output1.length());
bufferedWriter.flush();
fileWriter.close();
bufferedWriter.close();
} catch (IOException ee) {
}
}
}把\n 替换为 \n\r就好了
\r\n就是回到行首并且跳到下行 [回车]
只是普通替换 \r\n 只要 bufferwriter.write() \r\n时将会默认 回车换行
没有试的不要乱说
OK