package 实验七第二题;import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;public class Student {
public  int num,grade;
public String name;
public Student() throws IOException{
FileWriter fw =new FileWriter("D:\\data.txt");
InputStreamReader ir=new InputStreamReader(System.in);
BufferedReader in =new BufferedReader(ir); 
System.out.println("请输入编号");
 num=Integer.parseInt(in.readLine());
 fw.write(" "+num);
BufferedReader en =new BufferedReader(ir); 
System.out.println("请输入姓名");
 name=en.readLine();
 fw.write(" "+name);
 BufferedReader gn =new BufferedReader(ir); 
 System.out.println("请输入成绩");
 grade=Integer.parseInt(gn.readLine());
 fw.write(" "+grade);
 in.close();
 en.close();
 gn.close();
 fw.close();
}
public static void main(String[] args) throws IOException {
Student A=new Student();
Student B=new Student();
Student C=new Student();
Student D=new Student();
Student E=new Student();
}}
//如果下面只定义一个对象的话可以通过,如果多个对象的话报错

解决方案 »

  1.   

    你每new一个student,就一个
    FileWriter fw =new FileWriter("D:\\data.txt");已经把原来的覆盖掉了
      

  2.   

    因为你每写入一个对象后就把文件给关闭了,当写入第二个对象的时候就把第一个给覆盖了。你可以用RandomAccessFile这个类来执行写入操作,它可以跳过已经写入的部分。再次写入就不会覆盖了。
      

  3.   

    你的构造函数真是。package com.xuz.datastruct.csdn;import java.io.BufferedReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;public class Student {
    public int num, grade;
    public String name; public Student() throws IOException {
    FileWriter fw = new FileWriter("D:\\data.txt");
    InputStreamReader ir = new InputStreamReader(System.in);
    BufferedReader in = new BufferedReader(ir);
    System.out.println("请输入编号");
    num = Integer.parseInt(in.readLine());
    fw.write(" " + num);
    System.out.println("请输入姓名");
    name = in.readLine();
    fw.write(" " + name);
    System.out.println("请输入成绩");
    grade = Integer.parseInt(in.readLine());
    fw.write(" " + grade);
    fw.flush();
    fw.close();
    } public static void main(String[] args) throws IOException {
    Student A = new Student();
    Student B = new Student();
    Student C = new Student();
    Student D = new Student();
    Student E = new Student(); }}
      

  4.   

    正解
    把对象写入文件可以用对象流,ObjectInputStream/ObjectOutputStream,多个同类对象可以放到List或者Map里再写入文件
      

  5.   

    public FileWriter(File file,
                      boolean append)
               throws IOException