




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第20章文件IO操作,File类RandomAccessFile类流类字符编码对象序列化,20.1File类,File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件,通过调用File类提供的各种方法,能够完成创建、删除文件,重命名文件,判断文件的读写权限及文件是否存在,设置和查询文件的最近修改时间等操作【范例20-1】File方法的使用范例,20.2RandomAccessFile类,RandomAccessFile类是Java语言中功能最为丰富的文件访问类,它提供了众多的文件访问方法,RandomAccessFile能以只读或读写方式打开文件,使用哪种方式取决于用户创建RandomAccessFile类对象的构造方法newRandomAccessFile(f,rw);/读写方式newRandomAccessFile(f,r);/只读方式【范例20-2】员工信息类的使用范例,20.3流类,20.3.1字节流20.3.2字符流20.3.3管道流20.3.4ByteArrayInputStream与ByteArrayOutputStream20.3.5System.in与System.out20.3.6打印流20.3.7DataInputStream与DataOutputStream20.3.8合并流20.3.9字节流与字符流的转换20.3.10IO包中的类层次关系图,20.3流类,Java的流式输入/输出建立在四个抽象类的基础上:InputStream,OutputStream,Reader和Writer,操作文件流时,不管是字节流还是字符流都可以按照以下的方式进行。使用File类找到一个文件通过File类的对象去实例化字节流或字符流的子类进行字节(字符)的读、写操作关闭文件流,20.3.1字节流1.InputStream(输入字节流),20.3.1字节流,20.3.1字节流2.OutputStream(输出字节流),20.3.1字节流3.FileInputStream(文件输入流)FileInputStream类创建一个能从文件读取字节的InputStream类,它的两个常用的构造方法如下:FileInputStream(Stringfilepath)FileInputStream(FilefileObj),20.3.1字节流4.FileOutputStream(文件输出流)FileOutputStream创建了一个可以向文件写入字节的类OutputStream,它常用的构造方法如下:FileOutputStream(StringfilePath)FileOutputStream(FilefileObj)FileOutputStream(StringfilePath,booleanappend)【范例20-3】向文件中写入字符串并读出,20.3.2字符流1.Reader,20.3.2字符流,20.3.2字符流2.Writer,20.3.2字符流,20.3.2字符流3.FileReaderFileReader类创建了一个可以读取文件内容的Reader类。它最常用的构造方法显示如下:FileReader(StringfilePath)FileReader(FilefileObj),20.3.2字符流4.FileWriterFileWriter创建一个可以写文件的Writer类。它最常用的构造方法如下:FileWriter(StringfilePath)FileWriter(StringfilePath,booleanappend)FileWriter(FilefileObj)【范例20-4】字符流使用范例,20.3.3管道流管道流主要作用是可以连接两个线程间的通信。管道流也分为字节流(PipedInputStream、PipedOutputStream)与字符流(PipedReader、PipedWriter)两种类型【范例20-5】管道流使用范例,20.3.4ByteArrayInputStream与ByteArrayOutputStreamByteArrayInputStream是输入流的一种实现,它有两个构造方法,每个构造方法都需要一个字节数组来作为其数据源ByteArrayInputStream(bytebuf)ByteArrayInputStream(bytebuf,intoffse,intlength)ByteArrayOutputStream()BuyteArrayoutputStream(int)【范例20-6】ByteArrayInputStream类使用范例,20.3.5System.in与System.out为了支持标准输入输出设备,Java定义了两个特殊的流对象:System.in和System.out,System.in对应键盘,System.out对应显示器,20.3.6打印流PrintStream类提供了一系列的print和println方法,PrintStream有下面几个构造方法:PrintStream(OutputStreamout)PrintStream(OutputStreamout,booleanauotflush)PrintStream(OutputStreamout,booleanauotflush,Stringencoding)【范例20-7】PrintWriter类向屏幕输出信息范例【范例20-8】PrintWriter向文件中输出信息范例,20.3.7DataInputStream与DataOutputStreamDataInputStream与DataOutputStream提供了与平台无关的数据操作【范例20-9】DataInputStream与DataOutputStream使用范例,20.3.8合并流采用SequenceInputStream类,可以实现两个文件的合并操作【范例20-10】使用合并流将两个文件合并,20.3.9字节流与字符流的转换Java支持字节流和字符流,但有时需要字节流和字符流之间的转换,InputStreamReader和OutputStreamWriter,这两个类是字节流和字符流之间相互转换的类,InputStreamReader可以将一个字节流中的字节解码成字符,OuputStreamWriter将写入的字符编码成字节后写入一个字节流【范例20-11】字符流的转换使用范例,20.3.10IO包中的类层次关系图1.字节输入流(InputStream),20.3.10IO包中的类层次关系图1.字节输出流(OutputStream),20.3.10IO包中的类层次关系图3.字符输入流,20.3.10IO包中的类层次关系图4.字符输出流,20.4字符编码,计算机里只有数字,字符与数字对应的编码固定下来后,这套编码规则被称为ASCII码许多国家都把本地的字符集引入了计算机,扩展了计算机中字符的范围,中国大陆为每一个中文字符都指定了一个对应的数字,这套编码规则称为GBK为了解决各个国家和地区使用自不同的本地化字符编码带来的不便,人们将全世界所有的符号进行了统一编码,称之为Unicode编码,20.4字符编码,【范例20-12】字符编码使用范例1【范例20-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科html考试试题及答案
- 北京高中数学考试卷子及答案
- N6-Allylamino-carbonothioyl-lysine-13C6-15N2-生命科学试剂-MCE
- 电焊工焊接知识培训总结课件
- hu3S193-生命科学试剂-MCE
- 保险金融资格考试题库及答案
- 新解读《GB-T 2999-2016耐火材料 颗粒体积密度试验方法》
- 高楼居民安全知识培训课件
- 电炉操作知识培训课件
- 电源线缆安全知识培训课件
- 精神障碍的早期识别与心理治疗
- 2024年《经济法基础》教案(附件版)
- 2024年无人机相关项目招商引资方案
- 中职教育人工智能技术赋能
- 《机电一体化系统设计》第四章课件
- 《税费计算与申报》课件 项目二 增值税的计算与申报任务三 增值税的申报
- 新污染物科普知识讲座
- 运动性失语的护理课件
- SICD植入护理配合
- 北京外国语大学611英语基础测试(技能)历年考研真题及详解
- 弱电工程施工进度表(甘特图)
评论
0/150
提交评论