专栏首页Java患者Java基础知识(九)--IO

Java基础知识(九)--IO

IO

概念

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

IO流常用父类

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

IO流FileInputStream

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

FileOutputStream fos = new FileOutputStream("bbb.txt"); //如果没有bbb.txt,会创建出一个
//fos.write(97);      //虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出的一个byte
fos.write(98);
fos.write(99);
fos.close();

本文分享自微信公众号 - Java患者(gh_3a16ffdedb6a),作者:Zero

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础知识梳理 ——— IO流

    利用 Java IO 你可以访问文件与目录,以及如何以文本格式和二进制格式来读写数据。

    求和小熊猫
  • Java中的IO流基础知识

    3.如何将一 个java对象序列化到文件里 在java中能够被序列化的类必须先实现Serializable接口,该接口没有任何抽象方法只是起到一个标记作用。

    海拥
  • 知识总结:I/O模型基础I/O基础

    I/O基础 1、java1.4之前,java对I/O支持不完善,存在以下问题: 没有数据缓冲区,I/O性能存在问题。 没有C或者C++的channel概念,只...

    牛客网
  • Git基础知识(九)

    并不保护仓库避免意外的损坏,每一个用户都有“远程”目录的完整 shell 权限,没有方法可以 阻止他们修改或删除 Git 内部文件和损坏仓库。

    zx钟
  • Java IO(1)基础知识——字节与字符

      正所谓怕什么来什么,这是知名的“墨菲定律”。Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员。工作N年的程序员甚至也...

    用户1148394
  • JAVA基础知识

    Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。 Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。  Java 被设计成允许应用程...

    用户3003813
  • java基础知识

    Vector、Stack、HashTable、ConcurrentHashMap、Properties

    仇诺伊
  • C# 基础知识系列- 14 IO篇 IO操作

    继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件、目录和路径的操作有了一定的了解。这一篇开始,给大家演示一下流的各种操作。以文件流...

    程序员小高
  • 学习Java基础知识,打通面试关九~ConcurrentHashMap

    用户2196435
  • 掌握这8步快速进阶java编程

    Java作为一种通用的编程语言可以做很多事情,但怎么学Java就看怎么用了,很多初学者想通过埋头苦学、马不停蹄的敲着代码记住Java基本原理,但一遇到困难便会让...

    企鹅号小编
  • java基础知识01

    正所谓万丈高楼平地起,有了扎实的基础才能进阶更深奥的课程,才能让你后面的走得更轻松,学Java亦是如此!所以千万不能忽略基础的重要性,下面一起来温习一下那些容易...

    贪挽懒月
  • java基础知识02

    1、String字符串: 字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。用length()方法获取长度。

    贪挽懒月
  • java(一)基础知识

    西西嘛呦
  • Java基础知识(二)

    ​ 面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Sma...

    shimeath
  • Java基础知识(一)

    JRE: java Runtime Environment(java运行时环境)。即java程序的运行时环境,包含了java虚拟机,java基础类库。

    shimeath
  • Java基础知识(二)

    用户7386338
  • Java基础知识(三)

    用户7386338
  • 学习Java基础知识,打通面试关十~IO流

    用户2196435
  • Java基础知识总结(异常机制、集合、JUC、IO)

        3)、第三个是异常信息回答了为什么被抛出。Throwable是所有异常体系的顶级父类,包含了Error类和Exception类。从概念角度分析Java的...

    别先生

扫码关注云+社区

领取腾讯云代金券