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. 开源工具软件XMusicDownloader——音乐下载神器

    XMusicDownloader,一款 支持从百度.网易.qq和酷狗等音乐网站搜索并下载歌曲的程序. 缘起: 一直用网易音乐听歌,但是诸如李健.周杰伦的不少歌曲,网易都没有版权,要从QQ等音乐去下载, ...

  2. Python学习(二十七)—— Django和pymysql搭建学员管理系统

    转载自http://www.cnblogs.com/liwenzhou/p/8270250.html 一.学员管理系统 1.项目规划阶段 项目背景 近年来老男孩教育的入学学员数量稳步快速增长,传统的e ...

  3. 伪分布式hbase从0.94.11版本升级stable的1.4.9版本

    Hbase从0.94.11升级到stable的1.4.9版本: 升级思路: hadoop1.1.2    hbase 0.94.11                             ↓ had ...

  4. php json_encode转换中文乱码

    $arr = ["a"=>'范德萨似懂非懂']; echo json_encode($arr,JSON_UNESCAPED_UNICODE);

  5. 五种UML工具

    ProcessOn是一款在线流程图软件(https://www.processon.com/),能够高效的完成在线流程图.UI原型图.UML以及组织图,网络拓扑图的构建.该软件最大的特点是,无需安装, ...

  6. Codeforces 1105D Kilani and the Game【BFS】

    <题目链接> 题目大意: 每个玩家控制一个颜色去扩张,每个颜色的扩张有自己的速度,一个颜色跑完再跑下一种颜色.在所有颜色不能在继续扩张的时候停止游戏.询问此时各种颜色的数量. 解题分析: ...

  7. hdu 1518 Square 木棍建正方形【DFS】

    题目链接 题目大意: 题意就是输入棍子的数量和每根棍子的长度,看能不能拼成正方形. #include <bits/stdc++.h> using namespace std; int n, ...

  8. Linux上的文件查找工具之locate与find

    前言 Linux上提供了两款工具用于查找文件,一款是locate,另一款是find. locate的特点是根据已生成的数据库查找,速度较快,但是查找的是快照数据,不准确. 因此在日常使用中,为了准确性 ...

  9. linux学习笔记 yum 在线管理软件包

    -y  如果yum在工作过程中需要使用者响应.这个参数可以直接回答yes #yum list 列出资源库中所有可安装或者可更新的rpm包 #yum perl 列出为perl的包 #yum perl* ...

  10. ORA-01440 要减小精度或者标度.则要修改的列必须为空.

    --1 创建备份表 drop table contract_kangjia_back; create table contract_kangjia_back as select * from cont ...