第15章 IO
package file;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.File;
import java.util.Map;
import java.util.TreeMap;
import javax.swing.*;
public class mian extends JFrame {
public mian(){
Container cc=getContentPane();
cc.setLayout(null);
setTitle("信息界面");
setSize(500, 400);
setVisible(true);
setDefaultCloseOperation(HIDE_ON_CLOSE);
final JTextField jt1=new JTextField();
final JTextField jt2=new JTextField();
JButton jb1=new JButton("保存");
JButton jb2=new JButton("显示");
JLabel jl1=new JLabel("账号:");
JLabel jl2=new JLabel("密码:");
final JLabel jl3=new JLabel("保存成功");
cc.add(jt1);
cc.add(jt2);
cc.add(jb1);
cc.add(jb2);
cc.add(jl1);
cc.add(jl2);
cc.add(jl3);
jl3.setVisible(false);
jt1.setBounds(150, 70, 300, 50);
jt2.setBounds(150, 170, 300, 50);
jb1.setBounds(200, 280, 60, 40);
jb2.setBounds(280, 280, 60, 40);
jl1.setBounds(100, 80, 40, 50);
jl2.setBounds(100, 180, 40, 50);
jl3.setBounds(150, 240, 300, 30);
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
File f=new File("D:/WorkSpace/camd/fifteen/hao.txt");
try {
FileWriter out=new FileWriter(f,true);
String s1=jt1.getText();
String s2=jt2.getText();
out.write(s1+"\\"+s2+"\r\n");
out.close();
}catch(Exception e){
e.printStackTrace();
}
jt1.setText("");
jt2.setText("");
jl3.setVisible(true);
}
});
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
File r=new File("D:/WorkSpace/camd/fifteen/hao.txt");
try {
FileReader in=new FileReader(r);
char rr[]=new char[1000];
int ll=in.read(rr);
//String ar[]=(new String(rr,0,ll)).split("\\");
jt1.setText(new String(rr,0,ll));
in.close();
}catch(Exception e ){
e.printStackTrace();
}
**/* for(int w=0,w<=ar.length,w++);{
if(w%2==0){
jt1.setText(ar[w]);
}
else{
jt2.setText(ar[w]);
}
}*/**
}
});
}
public static void main(String[] args) {
new mian();
}
}
运行结果:
输入信息
显示信息
保存的文本
try {
FileReader in=new FileReader®;
char rr[]=new char[1000];
int ll=in.read(rr);
String str=new String(rr,0,ll);
String ar[]=str.split("\r\n");
/for (String h:ar){
jt1.setText(h);
}/
//jt1.setText(str);
for(int w=0;w<=ar.length;w++){
if(w%2==0){
jt1.setText(ar[w]);
}
else{
jt2.setText(ar[w]);
}
}
//jt1.setText(new String(rr,0,ll));
in.close();
}
catch(Exception e ){
e.printStackTrace();
}
有两个教训:
- for循环内是 ; 不是,
- “\” 不可编译,\r\n 可以编译。