import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Input extends Frame implements ActionListener
{
String a,b,c,d,e;
Label l1;TextField tf1;
Label l2;TextField tf2;
Label l3;TextField tf3;
Label l4;TextField tf4;
Label l5;TextField tf5;
Button bu;
Input()
{
l1=new Label("楼号");
add(l1);
TextField tf1=new TextField();
add(tf1);
l2=new Label("单元号");
add(l2);
TextField tf2=new TextField();
add(tf2);
l3=new Label("门牌号");
add(l3);
TextField tf3=new TextField();
add(tf3);
l4=new Label("业主姓名");
add(l4);
TextField tf4=new TextField();
add(tf4);
l5=new Label("居住面积");
add(l5);
TextField tf5=new TextField();
add(tf5);
bu=new Button("录入");这里点击录入后失败,为什么?
bu.addActionListener(this);
add(bu);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
setSize(500,600);
setVisible(true);
setLayout(new GridLayout(6,1));
pack();
}
public void actionPerformed(ActionEvent act)
{
if(act.getSource()==bu)
a=tf1.getText();
b=tf2.getText();
c=tf3.getText();
d=tf4.getText();
e=tf5.getText();
run();
}
public void run()
{
int i=0;
User u[]=new User[100];
try
{
FileInputStream fis=new FileInputStream("./1.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
while(ois.readObject()!=null)
{
u[i]=(User)ois.readObject();
i++;
}
ois.close();
u[i]=new User(a,b,c,d,e);
FileOutputStream fos=new FileOutputStream("1.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int j=0;j<=i;j++)
{
oos.writeObject(u[j]);
}
oos.close();
}
catch(Exception e)
{
System.out.println("出现异常");
}
}
public static void main(String[] args)
{
Input in=new Input();
}
}
class User implements Serializable
{
String a1,b1,c1,d1,e1;
User(String a2,String b2,String c2,String d2,String e2)
{
a1=a2;
b1=b2;
c1=c2;
d1=d2;
e1=e2;
}
public String toString()
{
String s="楼号"+a1+"单元号"+b1+"门牌号"+c1+"业主姓名"+d1+"面积"+e1;
return s;
}
}在线等待回答!!!!
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Input extends Frame implements ActionListener
{
String a,b,c,d,e;
Label l1;TextField tf1;
Label l2;TextField tf2;
Label l3;TextField tf3;
Label l4;TextField tf4;
Label l5;TextField tf5;
Button bu;
Input()
{
l1=new Label("楼号");
add(l1);
TextField tf1=new TextField();
add(tf1);
l2=new Label("单元号");
add(l2);
TextField tf2=new TextField();
add(tf2);
l3=new Label("门牌号");
add(l3);
TextField tf3=new TextField();
add(tf3);
l4=new Label("业主姓名");
add(l4);
TextField tf4=new TextField();
add(tf4);
l5=new Label("居住面积");
add(l5);
TextField tf5=new TextField();
add(tf5);
bu=new Button("录入");这里点击录入后失败,为什么?
bu.addActionListener(this);
add(bu);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
setSize(500,600);
setVisible(true);
setLayout(new GridLayout(6,1));
pack();
}
public void actionPerformed(ActionEvent act)
{
if(act.getSource()==bu)
a=tf1.getText();
b=tf2.getText();
c=tf3.getText();
d=tf4.getText();
e=tf5.getText();
run();
}
public void run()
{
int i=0;
User u[]=new User[100];
try
{
FileInputStream fis=new FileInputStream("./1.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
while(ois.readObject()!=null)
{
u[i]=(User)ois.readObject();
i++;
}
ois.close();
u[i]=new User(a,b,c,d,e);
FileOutputStream fos=new FileOutputStream("1.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int j=0;j<=i;j++)
{
oos.writeObject(u[j]);
}
oos.close();
}
catch(Exception e)
{
System.out.println("出现异常");
}
}
public static void main(String[] args)
{
Input in=new Input();
}
}
class User implements Serializable
{
String a1,b1,c1,d1,e1;
User(String a2,String b2,String c2,String d2,String e2)
{
a1=a2;
b1=b2;
c1=c2;
d1=d2;
e1=e2;
}
public String toString()
{
String s="楼号"+a1+"单元号"+b1+"门牌号"+c1+"业主姓名"+d1+"面积"+e1;
return s;
}
}在线等待回答!!!!
{
int i=0;
User u[]=new User[100];
try
{
FileInputStream fis=new FileInputStream("./1.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
while(ois.readObject()!=null)
{
u[i]=(User)ois.readObject();
i++;
}
ois.close();
u[i]=new User(a,b,c,d,e);
FileOutputStream fos=new FileOutputStream("1.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int j=0;j <=i;j++)
{
oos.writeObject(u[j]);
}
oos.close();
}
catch(Exception e)
{
System.out.println("出现异常");
}
} 为什么要先把内容都读出来啊?直接写进去不就可以了吗?
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Input.actionPerformed(Input.java:57)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
就是这个错误, 你看看 ,谢谢啦
FileOutputStream fos=new FileOutputStream("1.txt"); 两个文件 路径也不一样
Input()
{
l1=new Label("楼号");
add(l1);
TextField tf1=new TextField(); //去掉前面的TextField,否则就是重新定义变量了,而不是成员属性的那个
add(tf1);
l2=new Label("单元号");
add(l2);
TextField tf2=new TextField(); //去掉前面的TextField,否则就是重新定义变量了,而不是成员属性的那个
add(tf2);
l3=new Label("门牌号");
add(l3);
TextField tf3=new TextField(); //去掉前面的TextField,否则就是重新定义变量了,而不是成员属性的那个
add(tf3);
l4=new Label("业主姓名");
add(l4);
TextField tf4=new TextField(); //去掉前面的TextField,否则就是重新定义变量了,而不是成员属性的那个
add(tf4);
l5=new Label("居住面积");
add(l5);
TextField tf5=new TextField();
add(tf5);
bu=new Button("录入");
bu.addActionListener(this);
add(bu);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
setSize(500,600);
setVisible(true);
setLayout(new GridLayout(6,1));
pack();
}
我把读取的那一块去掉了.你自己试试吧,路径也换到C盘下了import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Input extends Frame implements ActionListener
{
String a,b,c,d,e;
Label l1;
TextField tf1;
Label l2;
TextField tf2;
Label l3;
TextField tf3;
Label l4;
TextField tf4;
Label l5;
TextField tf5;
Button bu;
Input()
{
l1=new Label("楼号");
add(l1);
tf1=new TextField();
add(tf1);
l2=new Label("单元号");
add(l2);
tf2=new TextField();
add(tf2);
l3=new Label("门牌号");
add(l3);
tf3=new TextField();
add(tf3);
l4=new Label("业主姓名");
add(l4);
tf4=new TextField();
add(tf4);
l5=new Label("居住面积");
add(l5);
tf5=new TextField();
add(tf5);
bu=new Button("录入");
bu.addActionListener(this);
add(bu);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
setSize(500,600);
setVisible(true);
setLayout(new GridLayout(6,1));
pack();
}
public void actionPerformed(ActionEvent act)
{
if(act.getSource()==bu)
a=tf1.getText();
b=tf2.getText();
c=tf3.getText();
d=tf4.getText();
e=tf5.getText();
run();
}
public void run()
{
int i=0;
User u[]=new User[100];
try
{
File f = new File("C:/1.txt");
if(!f.exists())
{
f.createNewFile();
}
// FileInputStream fis=new FileInputStream("C:/1.txt");
// ObjectInputStream ois=new ObjectInputStream(fis);
// while(ois.readObject()!=null)
// {
// u[i]=(User)ois.readObject();
// System.out.println(u[i]);
// i++;
// }
// ois.close();
// u[i]=new User(a,b,c,d,e);
User t1 = new User(a,b,c,d,e);;
FileOutputStream fos=new FileOutputStream("C:/1.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int j=0;j <=i;j++)
{
oos.writeObject(t1);
}
oos.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("出现异常");
}
}
public static void main(String[] args)
{
Input in=new Input();
}
}
class User implements Serializable
{
/**
*
*/
private static final long serialVersionUID = 1L;
String a1,b1,c1,d1,e1;
User(String a2,String b2,String c2,String d2,String e2)
{
a1=a2;
b1=b2;
c1=c2;
d1=d2;
e1=e2;
}
public String toString()
{
String s="楼号"+a1+"单元号"+b1+"门牌号"+c1+"业主姓名"+d1+"面积"+e1;
return s;
}
}