1. 结构:

注:此IO包下主要介绍:

节点流:(字节流)FileInputStream、FileOutputStream、(字符流)Filereader、FileWriter

处理流(缓冲流):(字节流)BufferedInputStream、BufferedOutputStream、(字符流)BufferedReader、BufferedWriter

转换流:InputStreamReader、OutputStreamWriter

标准输入输出流:InputStream、OutputStream

  1. java.io.File类的使用

  2. io原理以及流的分类:

    按操作数据单位不同:字节流(8bit)主要处理除了文本文件以外的问文件、字符流(16bit)主要处理文本文件。

    按数据流的流向不同:输入流、输出流

    按流的角色不同:节点流(直接作用于文件的,可以从一个特定的数据源读写数据(文件、内存):FileInputStream、FileOutputSteam、FileReader、FileWriter)、处理流(除了以上四个之外都是,连接已存在的流(节点流、处理流)之上,通过对数据的处理为程序提供更为强大的功能)

    • 文件流(1):

      FileInputStream、FileOutputStream、FileReader、FileWriter
    • 缓冲流(1):

      BufferedInputStream、BufferedOutputStream

      BufferedReader、BufferedWriter
    • 对象流–序列化和反序列化(2):

      ObjectInputStream、ObjectOutputStream
    • 随机存取文件流(2):

      RandomAccessFile
    • 转换流(3):

      InputStreamReader、OutputStreamWriter
    • 标准输入、输出流
    • 打印流(4):

      PrintStream、PrintWriter
    • 数据流(4):

      DateInputStream、DateOutputStream

注:要求掌握的级别1-4

重要方法:

  • int read() throws IOException//读取一个字节并以正数的形式返回(0-255),结束返回-1
  • int read(byte[] b) throws IOException//读取一系列字节并存储到一个数组b,返回实际读取的字节数,结束返回-1
  • int read(byte[] b,int offset,int length) throws IOException

    //读取length个字节并存储到一个数组b,返回实际读取的字节数,结束返回-1
  • void close() throws IOException
  • int write() throws IOException//写入一个字节并以正数的形式返回(0-255),结束返回-1
  • int read(byte[] b) throws IOException//写入一系列字节并存储到一个数组b,返回实际读取的字节数,结束返回-1
  • int read(byte[] b,int offset,int length) throws IOException

    //写入length个字节并存储到一个数组b,返回实际读取的字节数,结束返回-1

注意:IO有非常多的知识点这里只是记录了一点,至于其他的知识点大家可以去网上自行查阅。

IO流(2)—知识结构的更多相关文章

  1. Java基础之IO流

    很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...

  2. Java中IO流,输入输出流概述与总结

    总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...

  3. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  4. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  5. IO流总结

    IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类:  按照操作数据的类型分为两种: 字节流和字符流.  按 ...

  6. IO流

    流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...

  7. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

  9. java IO流 之 其他流

    一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一).   public class ByteArrayInputStream extends ...

  10. java IO流 之 字符流

    字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...

随机推荐

  1. js 函数参数为什么是按值传递?

    首先说下,在js中有两大类数据类型: 基本类型和引用类型. 其次,基本类型有5种: Undefined,Null,Boolean,Number.String, 引用类型有一种: Object(Func ...

  2. JSP中三大指令

    JSP指令概述 JSP指令的格式:<%@指令名 attr1=”” attr2=”” %>,一般都会把JSP指令放到JSP文件的最上方,但这不是必须的.  JSP中的指令共有三个:page. ...

  3. bzoj2969矩形粉刷

    题解: 和前面那个序列的几乎一样 容斥之后变成求不覆盖的 然后再像差分的矩形那样 由于是随便取的所以这里不用处理前缀和直接求也可以 代码: #include <bits/stdc++.h> ...

  4. ELK 环境搭建4-Kafka + zookeeper

    一.安装前准备 1.节点 192.168.30.41 192.168.30.42 192.168.30.43 2.操作系统: Centos7.5 3.安装包 a.java8: jdk-8u181-li ...

  5. Java中文字符所占的字节数

    Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节:采用GB2312或GBK编码方式时,一个中文字符占2 ...

  6. 防止vs编译时自动启动单元测试

    Tools → Options → Live Unit Testing   Pause 勾选

  7. ActiveMQ挂了,重启一直无法将所有实例启起来的问题

    背景 2017年3月29日  下午2-3点时分,工单模块无法访问.跟踪日志发现,ActiveMQ连接不上导致整个工单模块瘫痪: 首先判断可能是系统需要然后尝试重启工单模块,重新启动工单模块,结果:重启 ...

  8. day 42 mycql 数据类型

    关于性别字段的存储数据类型选用 -- 性别字段 create table actor2 (id int not null auto_increment primary key,name char(32 ...

  9. python3解析库lxml

    阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2)读取HTML文件进行解析 (3)获取所有节点 (4)获取子节点 (5)获取父节点 (6)属性匹配 (7 ...

  10. Centos7服务器中安装MySQL(选择一个你想要的版本)

    开始,我默认安装了MySQL8,但是在测试的时候发现通过Hibernate连接之前的MySQL5.7的代码运行在连接新版本的库的时候发生异常,出于时间原因没有深度排查 但是我严重怀疑是版本匹配问题,为 ...