用JAVA实现把数据保存到一个TXT文件中

这是代码。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

class WindowBox extends Frame implements ActionListener,TextListener{
Box baseBox,boxR1,boxR2,boxR3,boxR4,boxR5,boxR6,boxR7,boxR8;
Checkbox box1,box2;
CheckboxGroup sex;
TextArea text;
Button Ok,Empty;
WindowBox(){
sex=new CheckboxGroup();
box1=new Checkbox("男",true,sex);
box2=new Checkbox("女",false,sex);
boxR3=Box.createHorizontalBox();
boxR3.add(box1);
boxR3.add(box2);

boxR1=Box.createVerticalBox();
boxR1.add(new Label("编号"));
boxR1.add(Box.createVerticalStrut(8));
boxR1.add(new Label("姓名"));
boxR1.add(Box.createVerticalStrut(8));
boxR1.add(new Label("年龄"));

boxR2=Box.createVerticalBox();
boxR2.add(new TextField(12));
boxR2.add(Box.createVerticalStrut(8));
boxR2.add(new TextField(12));
boxR2.add(Box.createVerticalStrut(8));
boxR2.add(new TextField(12));
boxR4=Box.createHorizontalBox();
boxR4.add(boxR1);
boxR4.add(boxR2);

text=new TextArea(6,15);
add(text);
boxR7=Box.createVerticalBox();
boxR7.add(text);
add(boxR7);

Empty=new Button("清空");
boxR5=Box.createHorizontalBox();
boxR5.add(boxR3);
boxR5.add(Empty);
Empty.addActionListener(this);

Ok=new Button("保存");
boxR6=Box.createHorizontalBox();
boxR6.add(Ok);
Ok.addActionListener(this);

boxR8=Box.createVerticalBox();
boxR8.add(boxR4);
boxR8.add(boxR7);
boxR8.add(boxR5);
boxR8.add(boxR6);
setLayout(new FlowLayout());
add(boxR8);

setBounds(120,125,250,150);
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e){
text.setText(null);
}

}

public class Xinxi{
public static void main(String args[]){
new WindowBox();
}
}

第1个回答  推荐于2016-02-06
1、为保存按钮添加事件Ok.addActionListener(this);-----------> Ok.addActionListener(new ButtonListener());
2、实现ButtonListener
public class ButtonListener implements ActionListener {
/**
* Method actionPerformed
*
*
* @param e
*
*/
public void actionPerformed(ActionEvent e) {
try {
String sex = "";
if(box1.getState()){
sex="男";
}else{
sex="女";
}
FileWriter fileWriter=new FileWriter("D:\\Result.txt",true);
fileWriter.write("happy!\r\n");
fileWriter.write("性别: "+sex+"\r\n");
fileWriter.flush();
fileWriter.close();
//Runtime.getRuntime().exec("notepad.exe");
} catch (Exception er) {
System.out.println(er.getMessage());
}
}
}本回答被提问者采纳
第2个回答  2010-12-28
public class Test{
public static void main(String[] args)
{
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
//文件将会创建在程序所在的文件夹中,
//("data.txt")也可以加上路径,如:("C:\\data.txt"),这样就会在C盘根目录创建一个data.txt文件
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("data2.txt"));
DataOutputStream dout=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("data3.txt")));
PrintStream pout=new PrintStream(new BufferedOutputStream(new FileOutputStream("data4.txt")));
RandomAccessFile rout=new RandomAccessFile("data5.txt","rw");//"rw"表示此文件可读可写
//设置文本内容
StringBuilder sb=new StringBuilder("");
sb.append("How are you?"+"\r\n");
sb.append("Fine,thanks,and you?"+"\r\n");
sb.append("Fine,too.");
String a=sb.toString();
byte[] b=(a).getBytes();
//写入文件,还可以用其他方法如:write(String str)
bw.write(a,0,b.length);
out.write(b, 0, b.length);
dout.write(b, 0, b.length);
pout.write(b, 0, b.length);
rout.write(b, 0, b.length);
//关闭流
out.close();
bw.close();
dout.close();
pout.close();
rout.close();
} catch (IOException ex) {
System.out.println(ex);
}
}
}