版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流的概念JAVA程序设计7.1流的概念Java的输入输出功能是借助输入输出流类来实现的,java.io包中包含大量用来完成输入输出流的类。Java中流的分类:按照流的运动方向,可以分为输入流和输出流两种。按照流的数据类型,可以分为字节流和字符流。所有的输入流类都是抽象类InputStream(字节输入流)或抽象类Reader类(字符输入流)的子类。所有的输出流类都是抽象类OutputStream(字节输出流)或抽象类Writer类(字符输出流)的子类。一、输入流用于读数据,用户可以从输入流中读取数据,但不能写入数据。当程序需要读取数据的时候,就会开启一个通向数据源的流,数据源可以是文件、内存、网络连接等,信息源的类型可以是包括对象、字符、图像、声音在内的任何类型。一旦打开输入流后,程序就可以从输入流中顺序读取数据。一、输入流从输入流读取数据的过程如下:打开一个流。如:FileInputStreaminFile=newFileInputStream(“File1.dat”)。从信息源读信息。如:inFile.read()。关闭流。如:inFile.close()。二、输出流用于写数据。只能往输出流写,不能读。和输入流类似,当程序需要写入数据时,就会开启一个通向目的地的流。写数据到输出流的过程如下:打开一个流,如:FileOutputStreamoutFile=newFileOutputStream(“File2.dat”)。写信息到目的地。如:outFile.write(inFile.read())。关闭流。如:outFile.close()。7.2File类File类的对象主要用来获取文件(或目录)本身的一些信息,如文件的所在的目录、文件的长度、文件读写权限等,不涉及文件的读写操作。1、构造函数File(Stringfilename)File(StringdirectoryPath,Stringfilename)File(Filef,Stringfilename)2、获取文件的属性StringgetName()booleancanRead()booleancanWrite()booleanexits()longlength()StringgetAbsolutePath()StringgetParent()booleanisFile()booleanisDirectory()booleanisHidden()longlastModified()3、目录操作booleanmkdir():创建目录,若成功返回true。File[]listFiles():以File对象形式返回目录下的所有文件。String[]list():以字符串的形式返回目录下的所有文件。4、文件操作booleancreateNewFile():创建一个文件。booleandelete():删除一个文件。7.3字节流抽象类OutputStream:所有字节输出流的父类。抽象类InputStream:所有字节输入流的父类。字节流以字节为单位对数据进行读写。一、字节输入流InputStream和字节输出流OutputStreamInputStream类的常用方法1voidclose()intread()intread(byte[]b)intread(byte[]b,intoff,intlen)longskip(longn)longavailable()voidmark(intreadlimit)voidreset()一、字节输入流InputStream和字节输出流OutputStreamOutputStream类的常用方法voidclose()voidwrite(intb)voidwrite(byte[]b)voidwrite(byte[]b,intoff,intlen)voidflush()21/O异常处理InputStream和OutputStream类中的许多方法在调用时有可能出现1/O异常,因此应用程序在调用这些方法时,要注意捕捉这些异常。3二、文件字节流FileInputStream和FileOutputStream这两个类主要用于文件的输入和输出,创建的对象可以顺序地从本地机上的文件读写数据。二、文件字节流FileInputStream和FileOutputStream1FileInputStream类构造函数:FileInputStream(Filefile)FileInputStream(Stringname)常用方法:intread()intread(byteb[])intread(byteb[],intoff,intlen)二、文件字节流FileInputStream和FileOutputStream2FileOutputStream类构造方法:FileOutputStream(Stringfilename)FileOutputStream(Filefile)常用方法:voidwrite(intb)voidwrite(byteb[])voidwrite(byteb[],intoff,intlen)二、文件字节流FileInputStream和FileOutputStream说明打开文件(创建流对象)读写文件关闭文件注意捕捉异常。三、缓冲字节流BufferedInputStream和BufferedOutputStreamBufferedInputStream1构造方法:BufferedInputStream(InputStreamin)BufferedInputStream(InputStreamin,intsize)
创建具有指定缓冲区大小不一的流。BufferedInputStreambin=newBufferedInputStream(System.in)。如三、缓冲字节流BufferedInputStream和BufferedOutputStreamBufferedOutputStream2构造方法:BufferedOutputStream(InputStreamin)BufferedOutputStream(InputStreamin,intsize)
创建具有指定缓冲区大小不一的流。BufferedOutputStreambout=newBufferedOutputStream(System.out)。如四、数据流DataInputStream和DataOutputStream数据流允许程序按着计算机无关的风格读取Java原始数据。也就是说,当读取一个数值时,不必再关心这个数值应当是多少个字节。四、数据流DataInputStream和DataOutputStream1DataInputStream和DataOutputStream的构造方法DataInputStream(InputStreamin):将创建的数据输入流指向一个由参数in指定的输入流,以便从后者读取数据(按着机器无关的风格读取)。DataOutputStream(OutputStreamout):将创建的数据输出流指向一个由参数out指定的输出流,然后通过这个数据输出流把Java数据类型的数据写到输出流out。四、数据流DataInputStream和DataOutputStreamDataInputStream和DataOutputStream的常用方法close()skipbytes(intn)readBoolean()readByte()readChar()、readDouble()2readFloat()readInt()readLong()readShort()readUTF()四、数据流DataInputStream和DataOutputStreamDataInputStream和DataOutputStream的常用方法writeBoolean(booleanv)writeByte(intv)writeBytes(Strings)writeChars(Strings)writeDouble(doublev)2writeFloat(floatv)writeInt(intv)writeLong(longv)writeShort(intv)writeUTF(Strings)四、数据流DataInputStream和DataOutputStream数据文件的读写读数据文件FileInputStreamfin=newFileInputStream(“f1.dat”)。DataInputStreamdin=newDataInputStream(fin)。floatf=din.readFloat()。写数据文件FileOutputStreamfout=new。FileOutputStream(“f1.dat”)。DataOutputStreamdout=newDataOutputStream(fout)。dout.writeFloat(12.34)。37.4字符流抽象类Writer:所有字符输出流的父类。抽象类Reader:所有字符输入流的父类。字符流以字符为单位对数据进行读写。一、字符输入流Reader和字符输入流WriterReader类的常用方法与InputStream类基本相似,Writer类的常用方法与OutputStream类基本相似,它们的主要区别是:InputStream和OutputStream类操作的是字节,而Reader类和Writer类操作的是字符。二、文件字符流类FileReader和FileWriter与FileInputStream和FileOutputStream字节流相对应的是FileReader和FileWriter字符流,它们分别是Reader和Writer的子类,构造方法分别为:FileReader(Filefile)FileReader(StringfileName)FileWriter(Filefile)FileWriter(StringfileName)二、文件字符流类FileReader和FileWriterFileInputStream类以字节为单位读取文件,字节流不能直接操作Unicode字符,所以Java提供了字符流。由于汉字在文件中占用两个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象,因为在Unicode字符中,一个汉字被看作是一个字符。例1:用字符流建立一个文件,再读出来。例2:用字符流复制一个文件。三、缓冲字符流1BufferedReader类的构造方法:BufferedReader(Readerin)。InputStreamReader类的构造方法:InputStreamReader(InputStreamin)。BufferedReader和InputStreamReader三、缓冲字符流1这两个类都继承自Reader类。BufferedReader类只能从Reader对象读取数据。InputStreamReader类是将字节输入流转换成字符输入流的转换器。如标准输入System.in是一个InputStream类的对象,要将InputStream类的对象转换成Reader类的对象,需要用InputStreamReader类对象作为转换器。这两个缓冲流能够读取文本行,方法是readLine()。BufferedReader和InputStreamReader三、缓冲字符流BufferedWriter和OutputStreamWriter2BufferedWriter类的构造方法:BufferedWriter(Writerout)。OutputStreamWriter类的构造方法:OutputStreamWriter(OutputStreamout)。三、缓冲字符流BufferedWriter和OutputStreamWriter2这两个类都继承自Writer。BufferedWriter类将文本写入字符输出流。OutputStreamWriter是字符流通向字节流的桥梁,起到转换器的作用。可以通过write(Strings,intoff,intlen)方法将字符串写入字符流。7.5Rand
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医生聘用期间个人工作总结(13篇)
- 药物滥用社会工作干预-洞察分析
- 网络舆论心理分析-第1篇-洞察分析
- 戏剧剧本创作-洞察分析
- 信托法司法解释解读-洞察分析
- 医院个人一岗双责廉洁工作总结(6篇)
- 《涂装工程》课件
- 《家庭系统排列讲座》课件
- 办公室文化与家庭教育的融合实践
- 医学背景下的数学基础教育研究
- 建设工程安全生产责任书范本
- 高中英语-unit1 cultural relics教学课件设计
- 义务教育体育与健康课程标准(2022年版)
- 【新课标】二年级下册道德与法治第10课《清新空气是个宝》PPT教学课件(第一课时)
- 2023年关于申请筹备X县区游泳协会的报告
- 设备维修工绩效考核表
- 2023年小学五年级综合实践活动上册期末试卷(5篇)
- 成立项目部红头文件完整资料
- LY/T 1923-2020室内木质门
- GB/T 3917.1-2009纺织品织物撕破性能第1部分:冲击摆锤法撕破强力的测定
- GB/T 30444-2013保健服务业分类
评论
0/150
提交评论