欢迎来到天天文库
浏览记录
ID:49376521
大小:198.00 KB
页数:32页
时间:2020-02-05
《IO输入输出流.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、输入输出流本章内容Java流式输入/输出原理Java流类的分类输入/输出流类常见的节点流和处理流文件流缓冲流字符集和编码数据流转换流Print流Object流NIO简介Java流式输入/输出原理在Java程序中,对于数据的输入/输出操作以“流”(stream)方式进行;J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。文件00101………程序文件………00101程序网路连接程序0010111………程序程序010…010…文件010…程序“hello”流是一个很形象的概念I/O流提供
2、一条通道程序,可以使用这条通道把源中的字节序列送给目的地。把输入流的指向称做源,程序从指向源的输入流中读取源中的数据。而输出流的指向是字节要去的一个目的地(或用户),程序通过向输出流中写入数据把信息传递到目的地。虽然I/O流经常与磁盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠标、内存或显示器窗口。输入/输出流的分类java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类:按数据流的方向不同可以分为输入流和输出流。(以程序的角度来考虑)按处理数据单位不同可以分为字节流和字符流。按
3、照功能不同可以分为节点流和处理流。J2SDK所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。字节流字符流输入流InputStreamReader输出流OutputStreamWriter节点流和处理流节点流为可以从一个特定的数据源(节点)读写数据(如:文件,内存)处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。数据源程序节点流数据源数据源程序程序InputStream继承自InputSteam的流都是用于向程序中输入数据,且数据的单位为字节(8bit);
4、下图中深色为节点流,浅色为处理流。InputStream的基本方法//读取一个字节并以整数的形式返回(0~255),//如果返回-1已到输入流的末尾。intread()throwsIOException//读取一系列字节并存储到一个数组buffer,//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1intread(byte[]buffer)throwsIOException//读取length个字节//并存储到一个字节数组buffer,从off位置开始存,最多len//返回实际读取的字节数,如果读取前以到输入流的末尾
5、返回-1intread(byte[]buffer,intoff,intlen)throwsIOException//关闭流释放内存资源voidclose()throwsIOExceptionOutputStream继承自OutputSteam的流是用于程序中输入数据,且数据的单位为字节(8bit);下图中深色为节点流,浅色为处理流。OutputStream的基本方法//向输出流中写入一个字节数据,该字节数据为参数b的低8位voidwrite(intb)throwsIOException//将一个字节类型的数组中的数据写入输出流
6、voidwrite(byte[]b)throwsIOException//将一个字节类型的数组中的从指定位置(off)开始的//len个字节写入到输出流voidwrite(byte[]b,intoff,intlen)throwsIOException//关闭流释放内存资源voidclose()throwsIOException//将输出流中缓冲的数据全部写出到目的地voidflush()throwsIOException良好的编程习惯先flush()再close()Reader继承自Reader的流都是用于向程序中输入数据
7、,且数据的单位为字符(16bit);下图中深色为节点流,浅色的为处理流。Reader的基本方法//读取一个字符并以整数的形式返回(0~255),//如果返回-1已到输入流的末尾。intread()throwsIOException//读取一系列字符并存储到一个数组buffer,//返回实际读取的字符数,如果读取前已到输入流的末尾返回-1intread(char[]cbuf)throwsIOException//读取length个字符//并存储到一个数组buffer,从off位置开始存,最多读取len//返回实际读取的字符数,
8、如果读取前以到输入流的末尾返回-1intread(char[]cbuf,intoff,intlen)throwsIOException//关闭流释放内存资源voidclose()throwsIOException0Writer继承自Writer的流都是用于程序中输入数据,且数
此文档下载收益归作者所有