当前位置 : IT培训网 > Java开发 > Java教程 > Java编程开发中面向字节的输入输出流

Java编程开发中面向字节的输入输出流

时间:2016-08-30 17:39:42  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
由于InputStream和OutputStream都是抽象类,所以在程序中创建的输入流对象一般是它们某个子类的对象,通过调用对象继承的read()和write()方法就可实现对相应外设的输入输出操作。

关于面向字符的输入流和输出流方面教程已经讲解完了,下面要介绍的就是Java编程开发中面向字节的输入输出流,希望本节内容可以帮助大家更好的学习Java。

教程回顾点击查看:

面向字符的输入流:http://www.itpxw.cn/java/javajc/2016737.html

面向字符的输出流:http://www.itpxw.cn/java/javajc/2016738.html

字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据。InputStream类和OutputStream类是所有字节流的父类。

InputStream

面向字节的输入流都是InputStream类的子类,其类层次结构如图10-6所示。

Java编程开发中面向字节的输入输出流_www.itpxw.cn

图10-6 InputStream的类层次结构图

表 10-5 列出了 InputStream 的主要子类及说明。

表 10-5 InputStream 的主要子类

类名

功能描述

FileInputStream

从文件中读取的输入流

PipedInputStream

输入管道

FilterInputStream

过滤输入流

ByteArrayInputStream

从字节数组读取的输入流

SequenceInputStream

两个或多个输入流的联合输入流,按顺序读取

ObjectInputStream

对象的输入流

LineNumberInputStream

为文本文件输入流附加行号

DataInputStream

包含读取 Java 标准数据类型方法的输入流

BufferedInputStream

缓冲输入流

PushbackInputStream

返回一个字节并把此字节放回输入流

 

InputStream 流类中包含一套所有输入都需要的方法,可以完成最基本的从输入流读入数据的功能。表 10-6 列出了其中常用的方法及说明。

表 10-6 InputStream 的常用方法

方法

功能描述

void close()

关闭输入流

void mark()

标记输入流的当前位置

void reset()

将读取位置返回到标记处

int read()

从输入流中当前位置读入一个字节的二进制数据,以此数据为低位字节,补足16位的整型量(0~255)后返回,若输入流中当前位置没有数据,则返回-1

int read(byte b[])

从输入流中的当前位置连续读入多个字节保存在数组中,并返回所读取的字节数

int read(byte b[], int off, int len)

从输入流中当前位置连续读len长的字节,从数组第off+1个元素位置处开始存放,并返回所读取的字节数

int available()

返回输入流中可以读取的字节数

long skip(long n)

略过n个字节

long skip(long n)

跳过流内的n个字符

boolean markSupported()

测试输入数据流是否支持标记

 

OutputStream

面向字节的输出流都是OutputStream类的子类,其类层次结构如图10-7所示。

Java编程开发中面向字节的输入输出流_www.itpxw.cn

图10-7 OutputStream的类层次结构图

10-7列出了OutputStream的主要子类及说明。

表10-7 OutputStream的主要子类

类名

功能描述

FileOutputStream

写入文件的输出流

PipedOutputStream

输出管道

FilterOutputStream

过滤输出流

ByteArrayOutputStream

写入字节数组的输出流

ObjectOutputStream

对象的输出流

DataOutputStream

包含写Java标准数据类型方法的输出流

BufferedOutputStream

缓冲输出流

PrintStream

包含print()和println()的输出流

 

OutputStream流类中包含一套所有输出都需要的方法,可以完成最基本的向输出流写入数据的功能。表10-8列出了其中常用的方法及说明。

表10-8 OutputStream的常用方法

方法

功能描述

void close()

关闭输出流

void flush()

强制清空缓冲区并执行向外设输出数据

void write(int b)

将参数b的低位字节写入到输出流

void write(byte b[])

按顺序将数组b[]中的全部字节写入到输出流

void write(byte b[], int off, int len)

按顺序将数组b[]中第off+1个元素开始的len个数据写入到输出流

 

由于InputStream和OutputStream都是抽象类,所以在程序中创建的输入流对象一般是它们某个子类的对象,通过调用对象继承的read()和write()方法就可实现对相应外设的输入输出操作。

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录