java.io包中重要的5个类3个接口

类名 说明
File 文件类
InputStream 字节流输入
OutputStream 字节流输出
Reader 字符输入流
Writer 字符输出流
Closeable 关闭流接口
Flushable 刷新流接口
Serialize 序列化接口

流的分类

流: 流动, 流向, 从一端移动到另一端. 流是一个抽象, 动态的概念

数据源: 提供原始数据的媒介, 常见的有: 数据库, 文件, 其他程序内存, 网络连接, IO设备

按方向分:

  输入流: 数据源到程序(InputStream, Reader)

  输出流: 程序到目的地(OutputSteam, Writer)

按功能分

  节点流: 可以直接从数据源或目的地读写数据

  处理留(包装流): 不直接连接到数据源或目的地, 是其他流进行封装. 主要目的是简化操作和提高性能

节点流和处理流的关系:

  节点流处于IO操作的第一线, 所有操作必须通过它们进行

  处理流可以对其他流进行处理(提高效率或操作灵活性)

按数据分:

  字节流: 安装字节读取数据(InputStream, OutputStream)

  字符流: 安装字符读取数据(Reader, Writer), 因为文件编码不同, 从而有了对字符进行高效操作的字符流 对象. 其原理还是基于字节流操作, 自动搜索了指定的码表

API使用

  1. 首先看继承体系
  2. 类的简短说明
  3. 常量的定义
  4. 构造器, 所有类都有构造器, 有的API有构造器, 有的只是没有显示

      有构造器时可以用new className创建

      构造器不显示时, 一种情况可能是工具类, 如Math类; 一种情况可能某些静态方法返回这个对象
  5. 方法, 首先看方法名, 然后形参, 源码(可省), 返回值

Java_流相关的更多相关文章

  1. java_流

    转自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有 ...

  2. java IO选择流的原则及其与IO流相关类的关系

    1 按照用途进行分类 1.1 按照数据的来源(去向)分类 是文件:FileInputStream, FileOutputStream, FileReader, FileWriter 是byte[]:B ...

  3. Java基础--常用API--IO流相关API

    一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...

  4. java中IO流相关知识点

    (一) 下边使用outputStream字节输出流进行写操作 package zdbIO;import java.io.File;import java.io.FileNotFoundExceptio ...

  5. C# 文件流相关操作

    二进制转换成图片: MemoryStream ms = new MemoryStream(bytes); ms.Position = ; Image img = Image.FromStream(ms ...

  6. 浅谈,html\css脱离标准文档流相关

    (个人知识有限,难免有误,请见谅) 标准文档流,顾名思义,是要按照一定规矩排列的,默认的就是元素会从左至右,从上至下排列,块级会独占一行,行内元素会和小伙伴们共享一行. 本来在标准文档流下,各个元素相 ...

  7. OTL翻译(5) -- otl_stream流相关绑定变量

    声明绑定变量 本章节将详细的说明如何在otl_stream流里面声明绑定变量. SQL语句.SQL语句块或存储过程在程序里面使用的时候总是带有占位符.OTL里面带有一个小的解析器用来解析这些占位符,并 ...

  8. Java中的文件和流相关知识

    1. File File类可以使用文件路径字符串来创建File实例,该文件路径可以是绝对路径或相对路径 File类的list()方法中可以接收一个FilenameFilter参数,通过该参数可以只列出 ...

  9. IO流 相关基础积累

    一个整型32位字节. 写入到流.? 为什么要按十六进制输出到控制台?

随机推荐

  1. 第1天 | 12天搞定Python,告诉你有什么用?

    掌握多一门编程语言,多一种选择,多一份机遇,更何况学的是人见人爱,花见花开的Python语言.它目前可占据编程语言排行榜的第3名,是名副其实的"探花郎",无论用它做什么(网络爬虫. ...

  2. RHSA-2018:0007-重要: 内核 安全更新(需要重启、存在EXP)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  3. 踩坑 Pycharm 2020.1.1 安装/ JetBrains破解/ anacode配置

    引言 网上的办法试了很多,通常不能解决问题,还会引发一些负效应,选取了一个试了两天终于成功的方案记录一下备用. Pycharm安装 https://www.jetbrains.com/pycharm/ ...

  4. 手撸ORM浅谈ORM框架之基础篇

    好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...

  5. MeteoInfo脚本示例:读取FY3A AOD HDF文件

    FY3A卫星有AOD产品数据,HDF格式,这里示例用MeteoInfo脚本程序读取和显示该类数据. 脚本程序如下: #----------------------------------------- ...

  6. 数组的高级应用含ES6 for of 用法

    // 在ES5中常用的10种数组遍历方法: // 1. 原始的for循环语句 // 2. Array.prototype.forEach数组对象内置方法 // 3. Array.prototype.m ...

  7. 氵0x a

    从今天开始记录这些东西,希望以后自己不出现在这上

  8. linux(centos8):安装Jenkins持续集成工具(java 14 / jenkins 2.257)

    一,什么是Jenkins? 1,jenkins是什么? Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具, 用于监控持续重复的工作,旨在提供一个开放易用的软件平台, 使软件的持续 ...

  9. linux创建www用户组和用户

    linux创建www用户组和用户 wdcp中的nginx服务启动需要依赖www用户,因此若没有此用户就可能会启动失败.创建这个用户的方法: [root@bogon local]# id www [ro ...

  10. 4.QOpenGLWidget-对三角形进行纹理贴图、纹理叠加

    在上章3.QOpenGLWidget-通过着色器来渲染渐变三角形,我们为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像.但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多 ...