前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础知识(九)--IO

Java基础知识(九)--IO

作者头像
用户7386338
发布2021-05-13 11:35:12
2800
发布2021-05-13 11:35:12
举报
文章被收录于专栏:Java患者Java患者

IO

概念

  • IO流用来处理设备之间的数据传输
  • java对数据的操作是通过流的方式
  • java用于操作流的类都在io中
  • 流按流向分为两种 : 输入流, 输出流
  • 流按操作类型分为两种:
    • 字节流 : 字节流可以操作任何数据,因为计算机中任何数据都是以字节的形式存储的
    • 字符流: 字符流只能操作纯字符数据,比较方便

IO流常用父类

  • 字节流的抽象父类:
    • inputStream
    • OutputStream
  • 字符流的抽象父类:
    • Reader
    • Writer

IO流FileInputStream

代码语言:javascript
复制
FileInputStream fis = new FileInputStream("aaa.txt"); //创建一个文件输入流对象,并关联aaa.txt
int b;             //定义变量,记录每次读到的字节
while((b = fis.read()) != -1) {       //将每次读到的字节赋值给b并判断是否是-1
 System.out.println(b);        //打印每一个字节
}

fis.close();           //关闭流释放资源

read方法返回值为什么是int

  • 因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式存储的.如果每次读取都返回byte, 有可能督导中间的时候遇到11111那么这111111是byte类型的-1,我们的程序遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果是1111111会在其前面补上24个0凑足4个字节,那么byte类型的-1就编程int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型.

IO流 FileOutputStream

代码语言:javascript
复制
FileOutputStream fos = new FileOutputStream("bbb.txt"); //如果没有bbb.txt,会创建出一个
//fos.write(97);      //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个byte
fos.write(98);
fos.write(99);
fos.close();
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IO
    • 概念
      • IO流常用父类
        • IO流FileInputStream
          • IO流 FileOutputStream
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档