中软java核心技术第21讲字节流_第1页
中软java核心技术第21讲字节流_第2页
中软java核心技术第21讲字节流_第3页
中软java核心技术第21讲字节流_第4页
中软java核心技术第21讲字节流_第5页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

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

文档简介

主题:Java字节流-Java核心技术-

目标数据流的概念标准流常用字节流数据流的概念

流是指一连串流动的字符,是以先进先出方式发送信息的通道。InputStreamOutputStream来自数据源的数据流流向目的地的数据流AECDBF数据流的概念

在Java中,把所有的输入和输出都当做流来处理。

“流”是一个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。

“流”屏蔽了实际的输入/输出设备中处理数据的细节。数据流的概念输入流输出流流的分类Java流的分类字节流:字节流是按字节读/写二进制数据。

8位

InputStreamOutputStream字符流:字符流的输入/输出数据是字符码。

16位UnicodeReaderWriter标准流System.in(标准输入流)对象使程序能够读取来自键盘的输入;System.out(标准输出流)对象使程序能够向屏幕输出数据;System.err(标准错误流)对象使程序能够向屏幕输出错误信息。每种标准流都可以被重定向。

标准流示例

示例:从标准输入流(键盘)输入一串字符,然后输出到标准输出流(屏幕)中。classStandardStreamDemo{ publicstaticvoidmain(Stringargs[])throwsIOException { bytebInput[]=newbyte[1024]; intiCount=System.in.read(bInput); StringstrInput=newString(bInput,0,iCount); System.out.println(strInput); return; }}

定义一个字节数组,从标准输入流中读取多个字节,放置到bInput中,返回值为实际读取的字节的数量。将字节数组转换成字符串。将字符串的内容打印到标准输出。字节流字节流是按字节读写数据。InputStream和OutputStream都是抽象类,本身不能直接用来创建对象。字节文件流1.文件类Java中的File类主要用于获取磁盘中文件或目录的信息。File类的对象并不打开文件,也不提供任何文件处理功能。java.io包中的其它类经常使用File对象来指定要操作的文件或目录。字节文件流文件字节输入流FileInputStream(文件字节输入流)主要用于文件的输入,通过该类创建的对象可以从文件中读数据。文件字节输出流FileOutputStream(文件字节输出流)主要用于文件的输出,通过该类创建的对象可以往文件中写数据字节文件流示例

示例:从指定文件中读出所有数据,然后输出到标准输出流(屏幕)中。

Filefile=newFile("e:/FileInput.txt");

FileInputStreamfileIn=newFileInputStream(file); bytebInput[]=newbyte[1024]; intiCount; StringstrInput=newString(); do{ iCount=fileIn.read(bInput); if(iCount!=-1) {strInput=strInput+newString(bInput,0,iCount);} }while(iCount!=-1); System.out.print(strInput); fileIn.close();}创建一个文件字节输入流的实例

。重复读数据直到读完该文件。从文件输入流中读取多个字节,返回值为实际读取的字节数。将字节数组转换成字符串。字节文件流示例

示例:从标准输入(键盘)接收一串字符,然后,写入到指定的文件中。System.out.println("请输入字符串:");//提醒用户输入

bytebInput[]=newbyte[1024];//定义一个字节数组

intiCount=System.in.read(bInput); FileOutputStreamfileOut=newFileOutputStream("e:/FileOutput.txt",true); fileOut.write(bInput,0,iCount);//将数据写入到文件中

fileOut.flush();//把缓存中所有内容强制输出

fileOut.close();//关闭文件字节输出流

return;从标准输入(键盘)接收数据。创建一个文件字节输出流的实例。字节过滤流--缓冲字节流1.缓冲字节输入流和缓冲字节输出流为了提高输入/输出处理的效率,应尽可能的使用缓冲流将输入/输出数据放入到内部缓冲数组中处理。缓冲字节流主要用到的类有BufferedInputStream类和BufferedOutputStream类。

缓冲字节流示例

示例:

从标准输入(键盘)接收一串字符,然后,以缓冲的方式写入到指定的文件中。

System.out.println("请输入字符串:");//提醒用户输入

bytebInput[]=newbyte[1024]; intiCount=System.in.read(bInput);

FileOutputStreamfileOut=newFileOutputStream("e:/FileOutput.txt",true);

BufferedOutputStreambufferedOut=newBufferedOutputStream(fileOut);bufferedOut.write(bInput,0,iCount);bufferedOut.flush();//把缓存中所有内容强制输出bufferedOut.close();//关闭输出流return;从标准输入(键盘)接收数据。创建一个文件字节输出流的实例。以文件字节输出流为参数构造缓冲输出流。使用缓冲的形式将数据写入到文件中。字节过滤流--顺序输入流2.顺序输入流 顺序输入流(SequenceInputStream)可以在逻辑上连接一组输入流,即将这一组输入流视为一个连续的输入流。顺序输入流示例

示例:编写一段代码实现如下功能:将两个文件(文件A和文件B)中的内容合并,并写到一个新的文件(C)中。

StringsReadFileName1;//第一个要读取的文件的路径名

StringsReadFileName2;//第二个要读取的文件的路径名

StringsWriteFileName;//要写入数据的文件的路径名

……FileInputStreamfileIn1=newFileInputStream(sReadFileName1);FileInputStreamfileIn2=newFileInputStream(sReadFileName2);FileOutputStreamfileOut=newFileOutputStream(sWriteFileName);

SequenceInputStreamsequenceIn=newSequenceInputStream(fileIn1,fileIn2);使用顺序输入流连接两个文件输入流小结“流”是一个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接

温馨提示

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

评论

0/150

提交评论