使用修改的DataInputStreams读取/写入Java

时间:2015-04-05 04:30:49

标签: java io fileinputstream datainputstream

这是我必须使用的样本。我花了大约30分钟,却找不到任何关于如何使用这门课程的全面内容。

让我解释一下我们必须合作的内容。有一个数据库类可以存储"学生"在链表中。从main方法中,我们使用数据库类中的add()方法将学生添加到列表中。数据库类有写入和读取所述文件的方法,但是我不知道现在要做什么。说明书指出:

  1. 必须打开新的文件流。
  2. "应该缓冲" - 不确定这意味着什么
  3. 包含的类StudentRecordReader应该使用上述缓冲的

    public boolean readFromFile(String fileName){
        boolean success = false;
        Student s = null;
        try{
        //Need to open a file stream
        File file = new File(fileName);
        if(!file.exists()){
            file.createNewFile();
        }
        //Should be then buffered
        DataInputStream in = new DataInputStream(new BufferedInputStream(new           
        FileInputStream(file)));
        StudentRecordReader r;//this should work with a buffered stream
        r = new StudentRecordReader(in);
        r.close();
        }catch(IOException e){
        e.printStackTrace();
        }
    return success;
    }
    

1 个答案:

答案 0 :(得分:0)

我认为StudentRecordReader必须打开一个缓冲的输入流

DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(path)))

然后从文件中读取学生字段,例如

String name = dis.readUTF();
String address = dis.readUTF();

然后根据此数据创建学生

new Student(name, address);

然后读下一个学生......