A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dmyz3214382 中级黑马   /  2016-9-4 17:42  /  552 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO谁能在总结一下

5 个回复

倒序浏览
我可以当观众,看哪位大神写的详细点
回复 使用道具 举报
io 分为字节流和字符流
如果只读或者只写的话,推荐用字符流,因为它是用来读取和写出字符串的
但是并不推荐用字符流来copy文本文件,因为效率比较低,它用BufferedReader读取的时候先将字节读取
转换成字符串。
写的时候用BufferedWriter接收字符串,将字符串转成字节数写入。
这样子效率太低,所以并不推荐,一般就是只读只写的时候用字符流更加方便一点,不过字符流也只能用于文本文件
字节流的应用范围就很广泛了,因为计算机里的所有文件都是字节组成的。
值得注意的一点就是,在读取和写出文本文件的时候要注意编码表的问题
回复 使用道具 举报
O流的概念:
        1.IO:input(输入) 和 Output(输出)
        2.流:类似于“流水”。线性的,有方向的。
        Java中IO流的分类:
        广义:
                1).输出流:从程序向外部输出数据
                2).输入流:从外部程序读取数据
        按读写方式分:
                1).字节流:可以读写任何文件(包括二进制、文本)
                        A:输出流:OutputStream(抽象类)
                                                        |--FileOutputStream(子类):
                                输出方法(三种):
                                1).write(int b):输出一个字节
                                2).write(byte[]):输出一个字节数组
                                3).write(byte[],int offset, int len):输入一个字节数组的一部分
                                其他方法:
                                4).void close():释放资源
                               
                        B:输入流:InputStream(抽象类)
                                                        |--FileInputStream(子类)
                                读取方法(两种):
                                1).int read():读取一个字节。返回值:读取的字节
                                2).int read(byte[] b):读取一个字节数组,填充数组b,返回值:读取的字节数量
                               
                2).字符流:只能读写文本文件
                        A:输出流:Writer(抽象类)
                        B:输出流:Reader(抽象类)
                       
FileOutputStream(子类)
        1.构造方法:(文件可以不存在,会自动创建)
        FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。
        FileOutputStream(File file, boolean append):创建一个向指定File对象表示的文件中写入数据的文件输出流。
        FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。
        FileOutputStream(String name, boolean append):创建一个向具有指定name的文件中写入数据的输出文件流。

       
换行符:
        1.在Windows下,换行符:\r\n
        2.在Linux:\r
        3.在Mac:\n
       
FileInputStream(字节流)
        1.构造方法:(构造时,文件必须要存在,否则运行时异常:FileNotFoundException)
        FileInputStream(File file):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的 File 对象 file指定。
        FileInputStream(String name):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名 name 指定。
回复 使用道具 举报
我也是开贴,也想学io大神发总结
回复 使用道具 举报
虽然还没学到io,但是提前了解一下还是很好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马