java的输入输出入门

来源:互联网 发布:淘宝热力图 编辑:程序博客网 时间:2024/04/29 23:46

刚刚接触java的输入输出的时候会觉得很复制,很多的类

做点笔记

 

reader/writer 和 inputstream/outputstream 是同级别不同功能的类

 

用于字符的  输入输出的类的树结构

http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/io/package-tree.html

 

  • java.io.Reader (implements java.io.Closeable, java.lang.Readable)
  • InputStreamReader 是具有字节到字符的转换功能,BufferedReader 是具有缓冲功能,可以提高效率,所以其他的reader都应该用InputStreamReader 包装一下,所以经常会看到如下的代码:

    接受键盘的输入实例:

     BufferedReader in
       = new BufferedReader(new InputStreamReader(System.in));

    接受文件的输入实例:

     BufferedReader in
       = new BufferedReader(new FileReader(filename));

     

    用于字节流的 

  • java.io.InputStream (implements java.io.Closeable)
  • 所以看不同种类的输入输出要选择不同的方式

    FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader

     

     

    对于对象到文件的输入输出

    例如,要写入可通过 ObjectInputStream 中的示例读取的对象,请执行以下操作:

            FileOutputStream fos = new FileOutputStream("t.tmp");        ObjectOutputStream oos = new ObjectOutputStream(fos);        oos.writeInt(12345);        oos.writeObject("Today");        oos.writeObject(new Date());        oos.close();

    例如,要按 ObjectOutputStream 中示例的写入从流读取,请执行以下操作:

            FileInputStream fis = new FileInputStream("t.tmp");        ObjectInputStream ois = new ObjectInputStream(fis);        int i = ois.readInt();        String today = (String) ois.readObject();        Date date = (Date) ois.readObject();        ois.close();
    原创粉丝点击