字节流和字符流(InputStream类和OutputStream类)
java流包括字节流和字符流,字节流通过I/O设备以字节数据的方式读入,而字符流则是通过字节流读入数据转换成字符“流"的形式由用户驱使。
InputStream是所有字节输入流的父类。OutputStream是所有字节输出流的父类。
在Java的I/O流中所有对字节流处理的类,都继承自InputStream类和OutputStream类,这是两个抽象类。
1:InputStream类
InputStream类是一个抽象类,作为字节输入流的直接或间接父类,它定义了许多有用的、所有子类必须的方法,包括读取、移动指针、标记、复位、关闭等方法。InputStream类的常用方法有以下几种:
Public abstractintread():读取一个byte数据,返回值是高位补0的int类型值。
Public int read(byteb[]):读取b.length个字节的数据放到b数组中。返回值是读取的字节数。该方法实际上是调用下一个方法实现的。
public int read(byteb[],intoff,intlen):从输入流中最多读取len个字节数据,存放到偏移量为off的b数组中。
public int availabel():返回输入流中可以读取的字节数。注意,若输入阻塞,当前线程将被挂起,如果InputStream对象调用这个方法的话,它只会返回0,这个方法须由InputStream类的子类调用才有用。
public long skip(longn):忽略输入流中的n个字节,返回值是实际忽略的字节数,跳过一些字节来读取。
public int close():在使用完之后,必须对打开的流进行关闭。
2:OutputStream类
OutputSteam类也是抽象类,作为字节输出流的直接或间接父类,当程序需要向外部设备输出数据时,需要创建OutputStream类的某一个子类对象来完成。与InputStream类似,这些方法也可能抛出IOExpection异常。OutputStream类中的常用方法有以下几种:
public void write(byteb[]):将参数b的字节写到输出流中。
public void write(byteb[],intoff,intlen):将参数b的从偏移量off开始的len个字节写入到输出流中。
public abstractvoid write(intb):先将int转换成byte类型,低字节写入到输出流中。
public void flush():将数据缓冲区中的数据全部输出,清空缓冲区。
public void close():关闭输出流并释放与流相关的系统资源。
字节流和字符流(InputStream类和OutputStream类)的更多相关文章
- 字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)
操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为 ...
- 牛客网Java刷题知识点之输入流、输出流、字节流、字符流、字节流的抽象基类(InputStream、OutputStream)、字符流的抽象基类(Reader、Writer)、FileWriter、FileReader
不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输 ...
- java IO输入输出流中的各种字节流,字符流类
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...
- JAVA IO分析一:File类、字节流、字符流、字节字符转换流
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...
- IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public ...
- 关于Java的File类、字节流和字符流
一.File类: 在Windows下的路径分隔符(\)和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常. File中还 ...
- JavaSE学习笔记(14)---File类和IO流(字节流和字符流)
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...
- 01 语言基础+高级:1-8 File类与IO流_day09【字节流、字符流】
day09[字节流.字符流] 主要内容 IO流 字节流 字符流 异常处理 Properties 教学目标 能够说出IO流的分类和功能 能够使用字节输出流写出数据到文件 能够使用字节输入流读取数据到程序 ...
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
标签: outputstreamwriterreader字符file方法 2015-05-14 23:06 469人阅读 评论(0) 收藏 举报 分类: 孙鑫-java基础(16) I-O(4 ...
随机推荐
- ACM: HDU 1869 六度分离-Dijkstra算法
HDU 1869六度分离 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descri ...
- Secrets
https://www.youtube.com/watch?v=qHm9MG9xw1o I need another storySomething to get off my chestMy life ...
- cocos2dx中设置横竖版
IOS目录中RootViewController.mm//显示竖屏- (BOOL) shouldAutorotate { return NO;} //显示横屏- (BOOL) shouldAutoro ...
- asp.net发送邮件
using System.Net.Mail; /// 发送邮件 /// </summary> /// <param name="sender"></p ...
- #define is unsafe——I
I. #define is unsafe Have you used #define in C/C++ code like the code below? #include <stdio.h&g ...
- webform连接ACCESS数据库
1.先建立一个名叫mydb.accdb的access数据库 2.他它复制到webform中,放在App_Data文件夹下. 3.在App_Code文件夹下建好封装语句,查询方法,连接语句,其中stud ...
- 上传读取Excel文件数据
/// <summary> /// 上传读取Excel文件数据 /// 来自http://www.cnblogs.com/cielwater /// </summary> // ...
- js 将一段html插入到body最前面
var wrap=document.createElement("div"); var first=document.body.firstChild;//得到页面的第一个元素 va ...
- PHPExcel创建文件格式写入对象实例
首先到http://www.codeplex.com/PHPExcel下载PHPExcel 下面就是php导出excel的程序 <?phpini_set("display_errors ...
- Hibernate配置Log4J,很有参考价值的
hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种 ...