求助大神,,我这样修改TXT文档中的一行就会把整个文档清除数据,该怎么正确写那块的代码呢,新手自学,希望大神点拨下
import java.awt.*;import java.awt.event.*;
import *;
import *;
import java.util.*;
import javax.swing.*;
public class Image extends JFrame{
public void Myframe(){
final JFrame kj=new JFrame();
//setLayout(null);
kj.setLayout(null);
//kj.setSize(300, 200);
kj.setBounds(0,0,300,200);
//setBounds(0,0,300,200);
kj.setVisible(true);
final Container con=kj.getContentPane();
final File file=new File("G:/password.txt"); //创建配置文件
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
final JLabel zh=new JLabel("账号");
zh.setBounds(0, 20, 100, 21);
con.add(zh);
final JTextField zhangh=new JTextField();
zhangh.setBounds(30,20,100,20);
zhangh.setBackground(Color.yellow);
con.add(zhangh);
zhangh.setVisible(true);
final JButton zhuche=new JButton("注册账号");
zhuche.setBounds(150, 20, 100,21);
con.add(zhuche);
zhuche.addActionListener(new ActionListener(){ //注册按钮事件
public void actionPerformed( ActionEvent e){
final pass arr[]=new pass[5];
JFrame ZC=new JFrame("注册框");
ZC.setLayout(null);
ZC.setBounds(0,0,300,300);
final Container con1=ZC.getContentPane();
final JLabel zczh=new JLabel("注册账号");
zczh.setBounds(0, 20, 100, 21);
con1.add(zczh);
final JTextField zczhangh=new JTextField();
zczhangh.setBounds(60,20,100,20);
zczhangh.setBackground(Color.yellow);
con1.add(zczhangh);
zczhangh.setVisible(true);
final JLabel zcjl=new JLabel("密码");
zcjl.setBounds(0, 40, 100, 21);
con1.add(zcjl);
final JTextField zcmima=new JTextField("",20);
zcmima.setBounds(60,40,100,20);
zcmima.setBackground(Color.yellow);
con1.add(zcmima);
zcmima.setVisible(true);
final JButton zcau=new JButton("注册");
zcau.setBounds(40, 70, 60,20);
con1.add(zcau);
ZC.setVisible(true);
zcau.addActionListener(new ActionListener(){ //注册框 注册按钮事件
public void actionPerformed(ActionEvent e){
String ip=zczhangh.getText()+"\t"+"||"+"\t"+zcmima.getText();
ip = ip+"\r\n";
try{
//FileOutputStream out = new FileOutputStream(file,true);
// out.write(ip.getBytes());
FileWriter out=new FileWriter(file,true); //true 很关键
out.write(ip);
out.close();
}catch(Exception e1){
e1.printStackTrace();
}
final JLabel zcview=new JLabel("注册成功");
zcview.setBounds(150, 70, 100,21);
zcview.setForeground(Color.red);
con1.add(zcview);
}
});
}
});
final JLabel jl=new JLabel("密码");
jl.setBounds(0, 40, 100, 21);
con.add(jl);
final JTextField mima=new JTextField();
mima.setBounds(30,40,100,20);
mima.setBackground(Color.yellow);
con.add(mima);
mima.setVisible(true);
final JButton shouch=new JButton("修改密码");
shouch.setBounds(150, 40, 100,21);
con.add(shouch);
shouch.addActionListener(new ActionListener(){ //找回密码按钮事件
public void actionPerformed( ActionEvent e){
JFrame ZH=new JFrame("找回密码");
ZH.setLayout(null);
ZH.setBounds(0,0,300,300);
ZH.setVisible(true);
Container con2=ZH.getContentPane();
final JLabel xgzh=new JLabel("账号");
xgzh.setBounds(0, 20, 100, 21);
con2.add(xgzh);
final JTextField xgzhangh=new JTextField();
xgzhangh.setBounds(60,20,100,20);
xgzhangh.setBackground(Color.yellow);
con2.add(xgzhangh);
xgzhangh.setVisible(true);
final JLabel xgjl=new JLabel("原始密码");
xgjl.setBounds(0, 40, 100, 21);
con2.add(xgjl);
final JTextField xgmima=new JTextField("",20);
xgmima.setBounds(60,40,100,20);
xgmima.setBackground(Color.yellow);
con2.add(xgmima);
xgmima.setVisible(true);
final JLabel xg=new JLabel("修改密码");
xg.setBounds(0, 60, 100, 21);
con2.add(xg);
final JTextField xgtext=new JTextField("",20);
xgtext.setBounds(60,60,100,20);
xgtext.setBackground(Color.yellow);
con2.add(xgtext);
xgtext.setVisible(true);
final JButton xgau=new JButton("确认修改");
xgau.setBounds(40, 90, 90,20);
con2.add(xgau);
final JLabel xgview=new JLabel(); //创建错误提示框
xgview.setBounds(150, 90, 100,21);
xgview.setForeground(Color.red);
con2.add(xgview);
xgau.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try {
final FileReader in=new FileReader(file);
BufferedReader br=new BufferedReader(in); //每行的对象
String line=null;
while ((line=br.readLine())!=null){
if((xgzhangh.getText()+"\t"+"||"+"\t"+xgmima.getText()).equals(line)){
FileWriter out=new FileWriter(file);
BufferedWriter jf=new BufferedWriter(out);
line=xgzhangh.getText()+"\t"+"||"+"\t"+xgtext.getText();
jf.write(line);
jf.newLine();
out.flush();
out.close();
//line=xgzhangh.getText()+"\t"+"||"+"\t"+xgtext.getText();
xgview.setText("修改密码成功");
return;
}
else{ xgview.setText("账号或密码错误修改失败");}
}
in.close();
br.close();
}
catch (Exception e1) { //注意点
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
});
final JButton au=new JButton("登入");
au.setBounds(40, 70, 60,20);
con.add(au);
//au.setVisible(true);
final JLabel view=new JLabel(); //创建错误提示框
view.setBounds(150, 70, 100,21);
view.setForeground(Color.red);
con.add(view);
au.addActionListener(new ActionListener(){ //确定按钮事件
public void actionPerformed(ActionEvent e){
try {
final FileReader in=new FileReader(file);
BufferedReader br=new BufferedReader(in); //每行的对象
String line=null;
while ((line=br.readLine())!=null) {
//System.out.print(line);
if((zhangh.getText()+"\t"+"||"+"\t"+mima.getText()).equals(line)){
//view.setText("密码正确");
kj.setVisible(false);
JFrame qj=new JFrame("QQ2017");
qj.setLayout(null);
qj.setBounds(0,0,200,500);
Container con=qj.getContentPane();
qj.setVisible(true);
return;
}
else{ view.setText("账号或密码错误");}
}
br.close();
in.close();
}
catch (Exception e1) { //注意点
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
public static void main(String args[]){
Image main=new Image();
main.Myframe();
}
}