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

Java基础知识(九)--IO

作者头像
用户7386338
发布2021-05-13 11:35:12
发布2021-05-13 11:35:12
30500
代码可运行
举报
文章被收录于专栏:Java患者
运行总次数:0
代码可运行

IO

概念

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

IO流常用父类

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

IO流FileInputStream

代码语言:javascript
代码运行次数:0
复制
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
代码运行次数:0
复制
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
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档