查阅API文档中有关DataInputStream和DataOutputStream的内容。并编写一个程序使用readInt()方法从输入文件中读入学生成绩,求出学生的总成绩和平均成绩输出到另一个文件中。假设输入文件中的内容格式如下:姓名    语文  数学  外语张三    89    92    95李四    77    81    74王五    87    80    75
不会弄啊,还有啊  available()
方法有什么用呢看不懂啊该死的aip~~
谢谢

解决方案 »

  1.   

    换个中文版的API也应该能看懂吧 ?如果连中文版的API都看不懂,那,楼主缺乏的是计算机专业的基础常识了。
      

  2.   

    public static void main(String args[]) throws Exception{
    DataInputStream dis = new DataInputStream(new FileInputStream("in.dat"));
    DataOutputStream dos = new DataOutputStream(new FileOutputStream("out.dat"));
    try{
    while(dis.available()){
      String xm = dis.readUTF():
      int yw = dis.readInt();
      int xu = dis.readInt();
      int wy = dis.readInt();
      int sum = yw+xu+wy;
      float avg = sum/3.0;
      dos.writeUTF(xm);
      dos.writeInt(sum);
      dos.writeFloat(avg);
    }
    }finally{
    try{dis.close();}catch(Exception e){}
    try{dos.close();}catch(Exception e){}
    }
    }
      

  3.   

    首先,LZ说的这个我还真没用过,看到你的问题,稍微研究了下。然后根据你的要求修改了下代码public static void main(String[] args) 
    {
    Student[] students = {new Student("Justin",90,80,70),
                    new Student("momor",95,85,75),
                    new Student("Bush",88,78,68)};
            try{
             //按照规定格式写入文档内容
    DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream("d:/student.txt"));
    for(Student student:students){
        dataOutputStream.writeUTF(student.getName());
    dataOutputStream.writeInt(student.getYuwen());
    dataOutputStream.writeInt(student.getShuxue());
    dataOutputStream.writeInt(student.getWaiyu());
    }
    dataOutputStream.flush();
    dataOutputStream.close(); //读出数据并还原为对象
                DataInputStream dataInputStream = new DataInputStream(new FileInputStream("d:/student.txt"));
    for(int i=0;i<students.length;i++){
    String name = dataInputStream.readUTF();
    int yuwen = dataInputStream.readInt();
    int shuxue = dataInputStream.readInt();
    int waiyu = dataInputStream.readInt();
    students[i] = new Student(name,yuwen,shuxue,waiyu);
    }
    dataInputStream.close(); //得到的数据写入成绩文档中
    DataOutputStream dataOutputStream1 = new DataOutputStream(new FileOutputStream("d:/grade.txt"));
    for(Student student : students)
    {
    System.out.println(student.getName()+"=="+student.getYuwen()+"=="+student.getShuxue()+"=="+student.getWaiyu());
    int sum = student.getYuwen()+student.getShuxue()+student.getWaiyu();
    double avg = sum/3;
    System.out.println("name:"+student.getName()+" 总分:"+sum+" 均分:"+avg);
    dataOutputStream1.writeUTF(student.getName());
    dataOutputStream1.writeInt(sum);
    dataOutputStream1.writeDouble(avg);
    }
    dataOutputStream1.flush();
    dataOutputStream1.close();

    //读取成绩的文档
    DataInputStream dataInputStream1 = new DataInputStream(new FileInputStream("d:/grade.txt"));
    while(dataInputStream1.available()>0){
    String name = dataInputStream1.readUTF();
    int sum = dataInputStream1.readInt();
    double avg = dataInputStream1.readDouble();
    System.out.println(name+" 总分:"+sum+" 均分:"+avg);
    }
    dataInputStream.close();
    }
    catch(IOException e)
    {
                e.printStackTrace();
    }
    }
      

  4.   

    看看这个:
    http://coderanch.iteye.com/blog/1585937