javaI/O流


IO的使用 -> 数据传输

<blockquote>内存 -> 硬盘 , Socket编程</blockquote>


字节流

输入字节流

  • InputStream 所有输出字节流的基类, 抽象类
    • FileInputStream 读取文件输入字节流
    • BufferedInputStream 具有缓存功能的输入字节流 ,底层维护了一个8kb字节数组,提高读取文件数据的效率
      <code> private static int DEFAULT_BUFFER_SIZE = 8192;</code>
    public static void main(String[] args) throws Exception {
        BufferedInputStream bis = new BufferedInputStream(System.in);
        int len = bis.read();
        System.out.println(len);
    }

Console

aaa
97


输出字节流

  • OutputStream 所有输出字节流的基类,抽象类
    • FileOutputStream 向文件输出数据的字节流
    • BufferedOutputStream 具有缓存功能的输出字节流 ,底层维护了一个8kb字节数组,提高读取文件数据的效率

使用场景: 图片,视频,音频 ... (不需要解码的使用字节流)


字符流 = 字节流 + 解码

输入字符流


  • Reader 所有输入字符流的基类,抽象类
    • FileReader 读取文件字符的输入字符流,默认使用GBK字符集
    • BufferedReader 缓冲输入字符流 ,提高读取文件字符的效率,8kb长度的byte数组

比字节流多 readLine() 功能


输出字符流

  • Writer 所有输出字符流的基类,抽象类
    • FileWriter 读取文件字符的输出字符流 ,默认使用GBK字符集
    • BufferedWrite 缓冲输出字符流 ,提高写入文件字符的效率,8kb长度的byte数组

比字节流多 newLine() 功能 使用场景: 读写的都是字符数据


转换流

输入字节流的转换流


  • InputStreamReader

输出字节流的转换流

  • OutputStreamWriter

作用:
1.可以把对应的字节流转换成字符流。
2.可以指定编码表读写文件数据


给个github follow me的链接,上面有很多初学者可供学习的资料,项目.

<a>https://github.com/SuperZee</a>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容