JAVA I/O系统。

Java类库提供了大量类,可以帮组我们从不同的设备读取数据,并保存或输出到不同的设备中,这些类统一放在Java.io包和Java.nio包中,统称JavaI/O系统。

1.输出流和输入流。

  输入流。从数据源读取到程序中,只能从中读取数据,而不能向其写入数据。

  输出流。将数据从程序写入目的地,只能从中写入数据,而不能从中读取数据。

2.字节流和字符流。

  字节流。字节流是以Byte为最小单位进行传送。IO包中的字节流都继承自抽像类IuputStream或OutputStream.

  字符流。字符流是以char为最小单位进行数据传送。IO包中的字符流都继承抽象类Reader或Writer。

public void saveWorkerToFile(Worker w, File file) {
        ObjectOutputStream oout = null;    
        list.add(w);
        try {
            oout = new ObjectOutputStream(
                    new FileOutputStream(file));
            oout.writeObject(list);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (oout != null) {
                try {
                    oout.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    public List<Worker> readWorkerFromFile(File file){
        ObjectInputStream oin = null;
        List<Worker> li = new ArrayList<Worker>();
        try {
            oin = new ObjectInputStream(new FileInputStream(file));
            li = (List)oin.readObject();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (oin != null) {
                try {
                    oin.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return li;
    }
}

 

posted on 2015-05-03 22:09  黄学松  阅读(179)  评论(0)    收藏  举报