《Java与面向对象程序》-8.3字节流_第1页
《Java与面向对象程序》-8.3字节流_第2页
《Java与面向对象程序》-8.3字节流_第3页
《Java与面向对象程序》-8.3字节流_第4页
《Java与面向对象程序》-8.3字节流_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习目标掌握字节流特点掌握字节流基本用法主要内容字节输入流InputStream字节输出流OutputStream文件字节流字节输入流InputStream字节流是以字节序列的形式读写数据的方式。从输入设备或文件中读取数据使用的字节流称为输入流。InputStream是这种输入字节流的父类,它拥有所有输入字节流的公共方法,是一个抽象类。它与子类的关系如图所示。字节输入流InputStreamInputStream类的主要成员方法:返回值类型方法名称功能intavailable()判断是否可以从此输入流读取数据,若可以,则返回此次读取的字节数intread()从输入流中读取单个字节到程序内存区,返回0~255范围内的int型字节值。如果以到达流末尾而没有可用的字节,则返回值-1intread(bytebuf[])从输入流中读取一定数量的字节并将去存储在缓冲区数组buf中,以int型值返回实际读取的字节数intread(bytebut[],intoffset,intlength)从输入流中读取一定数量的字节并将其存储在缓冲区数组buf中,以offset偏移位置开始,共length个字节长度voidreset()将流重新定位到初始位置voidclose()关闭此输入流并释放与该流关联的所有系统资源字节输出流OutputStream与InputStream类一样,OutputStream类一样是一个抽象类。它作为所有字节流输出类的父类,拥有所有的公共操作,而特殊操作则由子类来分别完成。OutputStream类关系如下图所示。字节输出流OutputStreamOutputStream类的主要成员方法返回值类型方法名称功能intwrite(intb)

将整形数b的低8位作为单个字节写入输出流intwrite(bytebuf[])将字节数组写入输出流intwrite(bytebut[],intoffset,intlength)将字节数组的一部分写入输出流voidflush()刷新输出流,并强制将所有缓冲区的字节写入外设voidclose()关闭此输出流并释放与该流关联的所有系统资源文件字节流

1.文件字节输入流FileInputStream我们要从文件中读取数据并将数据写入文件,即文件的读写。FileInputStream是InputStream的子类。FileInputStream的构造方法如下:FileInputStream(Filefile);FileInputStream(Stringname);通过打开一个文件来创建一个FileInputStream,该文件通过File类对象或代表文件名的字符串指定。文件字节流

【例8_4】用字节输入流FileInputStream读取文件数据请首先在“d:/”目录下创建一个文本文件abc.txt,在文件中输入内容“abcdefg”。importjava.io.*;publicclassEx8_4{ publicstaticvoidmain(String[]args)throwsException{ FileInputStreamin=newFileInputStream("d:/abc.txt");//创建一个文件字节输入流 intb=0;//定义一个int类型的变量b,记住每次读取的一个字节 while(b!=-1){//-1代表文件末尾 b=in.read();//变量b记住读取的一个字节 System.out.println(b);//输出读取到的字节b } in.close(); }}文件字节流

运行结果如图所示:需要注意的是,在读取文件数据时,必须保证文件是存在并且可读的,否则会抛出文件找不到的异常FileNotFoundException。文件字节流

2.文件字节输出流FileOutputStream是OutputStream的子类,它是操作文件的字节输出流,它继承了OutputStream类的所用方法,并且实现了抽象方法write(),专门用于把数据写入文件。FileOutputStream的构造方法如下:

为name或file所指定的文件创建一个输出流,参数append指定文件是否以追加方式写入。如果append为true,新写入文件的数据将追加在文件末尾;append为false,则现有的内容将被覆盖。第1和第3个构造方法默认是覆盖方式的。需要注意的是,如果不能打开文件,将抛出一个IOException异常。FileOutputStream(Stringname)throwsIOException;

FileOutputStream(Stringname,booleanappend)throwsIOException;FileOutputStream(Filefile)throwsIOException;FileOutputStream(Filefile,booleanappend)throwsIOException;文件字节流

【例8_5】用FileOutputStream将数据写入文件。importjava.io.*;publicclassEx8_5{ publicstaticvoidmain(String[]args)throwsException{ FileOutputStreamout=newFileOutputStream("d:/1/def.txt");//创建文件字节输出流 Stringstr="JAVA程序设计"; byte[]b=str.getBytes(); for(inti=0;i<b.length;i++){ out.write(b[i]); } out.close();}}文件字节流

【例8_6】在文件末尾追加数据。importjava.io.*;publicclassEx8_6{ publicstaticvoidmain(String[]args)throwsException{ OutputStreamout=newFileOutputStream("d:/1/def.txt",true); Stringstr=",是我的最爱!"; byte[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论