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

教程回顾点击查看:

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

InputStream类

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

图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所示。

图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()方法就可实现对相应外设的输入输出操作。

java面向字符的输入流_Java编程开发中面向字节的输入输出流相关推荐

  1. java vector编程_Java编程开发中向量(Vector)及其应用

    要学习Java编程开发中向量及其应用方面的知识就要先了解什么是向量,向量是如何声明及初始化的,下面就让IT培训网专家来给大家详细介绍下如何认识向量及其使用方法吧! 关于向量的介绍: 向量 vector ...

  2. java中英文汉语混合排序_Java编程实现中英混合字符串数组按首字母排序的方法...

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法.分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷 ...

  3. java标准i o重定向_Java I/O(二)其他常用的输入输出流PrintStream等、标准流重定向...

    四.FilterOutputStream.PrintStream PrintStream是继承自FilterStream类的,例如标准输出流System.out就是著名的PrintStream类对象. ...

  4. java string 字符个数字_java从字符串中提取数字

    string类函数的补充说明: trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,例子如下:String s=" Hello World ".tri ...

  5. java面向字符的输入流_详细解读Java编程中面向字符的输入流

    字符流是针对字符数据的特点进行过优化的,因而提供一些面向字符的有用特性,字符流的源或目标通常是文本文件. Reader和Writer是java.io包中所有字符流的父类.由于它们都是抽象类,所以应使用 ...

  6. Java面向字符的 输入流

    Java中 面向字符的输入流: 一.概念 字符流是针对字符数据的特点进行过优化的,因而提供一些面向字符的有用特性,字符流的源或目标通常是文本文件. Reader和Writer是java.io包中所有字 ...

  7. Java中面向字符的输入流

    字符流是针对字符数据的特点进行过优化的,因而提供一些面向字符的有用特性,字符流的源或目标通常是文本文件. Reader和Writer是java.io包中所有字符流的父类.由于它们都是抽象类,所以应使用 ...

  8. java用输入流创建数据文件_java开发知识IO知识之输入输出流以及文件

    java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用 ...

  9. 题目:下面那个流类输出面向字符的输入流()

    题目: 下面哪个流类属于面向字符的输入流() A.BufferedWriter B.FileInputStream C.ObjectInputStream D.InputStreamReader 答案 ...

最新文章

  1. JavaScript自动评论,记下你看博客的时间
  2. 福建师范大学计算机组成原理期末试卷,福建师范大学2020年8月课程考试《计算机组成原理》作业考核试题...
  3. oracle巡检 博客,自己总结了一下巡检的工作 for Oracle RAC
  4. asp.net webform 局部发布更新
  5. C和指针之字符串编程练习1
  6. python使用opencv_教你快速使用OpenCV/Python/dlib進行眨眼檢測識別!
  7. 03 使用T-SQL语句实现数据的添加、更新、删除测试分析 1214
  8. 荆楚理工学院计算机科学专业,荆楚理工学院计算机科学与技术专业2016年在湖北理科高考录取最低分数线...
  9. 社会工程学案例调研和研究
  10. 三种常用数据标准化方法
  11. html遇到英文单词整体换行,HTML在table中如何强制单词换行
  12. Crosses and Crosses
  13. 利用hive完成阿里天池大数据音乐预测比赛数据处理工作
  14. navicat ssh postgresql 报错:no password supplied
  15. matlab图像的恢复
  16. kotlin集合过滤操作符
  17. cisco 路由器时间戳service timestamps
  18. pve7 安装rhel9.0报错之Fatal glibc error: CPU does not support x86-64-v2处理及Kernel panic - not syncing
  19. tidb和tbase的聚合函数算法
  20. 有史以来最牛逼的一张程序员职业路线图,分享给你

热门文章

  1. jfinal 微信授权登录
  2. ESRI Button 对应的图标
  3. 为什么微信开始限制公共账号,营销号该如何转型
  4. WIN10下CANdb++编辑器的下载和安装
  5. 车道检测、自适应巡航控制和编队matlab simulink仿真建模模型
  6. 解决adb logcat日志保存无法停止的问题
  7. 哈希 | 北邮OJ | 104. 912星球的研究生
  8. 点菜软件测试工资,大爷点菜的需求管理智慧
  9. 豆瓣api之OAuth认证
  10. java非侵入式接口实现_No-intrusive, 非侵入式接口设计