Java基础——IO类库

本文介绍了Java中的I/O类库,主要分为基于字节、基于字符的接口,以及字节与字符之间的转化。内容涵盖OutputStream、InputStream、Writer、Reader等基础I/O接口,并探讨了字符到字节的编码转换问题,以及如何将数据写入磁盘或网络。
摘要由CSDN通过智能技术生成

纵览

Java的I/O操作类在包java.io下,大概有将近80个类,这些类大概可以分成如下四组。
基于字节操作的I/O接口:OutputStream和InputStream。
基于字符操作的I/O接口:Writer和Reader。
基于磁盘操作的I/O接口:File。
基于网络操作的I/O接口:Socket。

基于字节

在这里插入图片描述
在这里插入图片描述
这里说明两点:一是操作数据的方式是可以组合使用的;二是流最终写到什么地方必须要指定,要么是写到磁盘,要么是写到网络中,其实从上面的类图可以发现,写网络实际上也是写文件,只不过写网络还有一步需要处理,就是让底层操作系统再将数据传送到其他地方而不是本地磁盘。

基于字符

不管是磁盘还是网络传输,最小的存储单元都是字节而不是字符,所以I/O操作的都是字节而不是字符,但是为什么有操作字符的I/O接口呢?这是因为我们的程序中通常操作的数据都是字符形式的,为了操作方便当然要提供一个直接写字符的I/O接口,如此而已。我们知道字符到字节必须要经过编码转换,而这个编码又非常耗时,而且还会经常出现乱码问题,所以I/O的编码问题经常是让人头疼的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值