等级考试二级JAVA考点分析之输入输出及文件操作_第1页
等级考试二级JAVA考点分析之输入输出及文件操作_第2页
等级考试二级JAVA考点分析之输入输出及文件操作_第3页
等级考试二级JAVA考点分析之输入输出及文件操作_第4页
全文预览已结束

下载本文档

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

文档简介

1、等级考试二级JAVA考点分析之输入输出及文件操作 71概述考点:1流的概念和Java语言中的I/O流1流的基本概念流是指在计算机的输入与输出之间流动的数据序列:从数据源串行地流向数据目的地。(1)输入流是指从外设流入计算机的数据流。(2)输出流是指从计算机流向外设的数据流。2Java语言中的I/O流Java的I/O功能主要是通过输入输出类库javaio包来实现的,javaio包中包括了可以处理字节流、字符流、文件流和对象流等的类,这些类主要可以分为如下几个:(1)接口:处理字节流的DataInput和DataOutput;处理对象流的ObjectInput和Obj ectOutput;筛选文件

2、名的FileNameFilter;处理对象流的Serializable。(2)抽象类:处理字节流的InputStream和OutputStream;处理过滤流的FilterOutputStream和FilterInputStream;处理字符流的Reader和Writer;处理压缩流的InflaterInputStream和DeflaterOutputStream。(3)非字符输入/输出流,分别通过继承抽象类InputStream和OutputStream实现,输入流包括字节数组作为输入流的ByteArrayInputStream;处理磁盘文件的FileInputStream;实现线程通信的P

3、ipedInputStream;过滤器输入流FilterInputStream;输入流的连接SequenceInputStream,输出流则包括和输入流相对应的类。(4)过滤字节输入/输出流,分别通过继承抽象类FilterlnputStream和FilterInputStream实现,输入流包括BufferedInputStream类,Checked InputStream类等输出流则包括和输入流相对应的类。(5)压缩文件输入/输出流,分别继承自InflaterInputStream和DeflaterOutputStream类。(6)字符输入/输出流,分别继承自抽象类Reader和Writer

4、。(7)同时兼有输入和输出功能的RandomAccessFile类,实现DataInput和DataOutput接口,直接继承自Object类,可以在文件的任意位置读写记录。72文件和文件I/O考点:2文件和文件I/O1文件File类是Javaio包中专门处理文件并获取文件有关信息的一个类。Java语言通过File类建立与磁盘文件的联系。对File类的理解,需要注意如下几点:(1)File类不是InputStream类或者OutputStream类的子类,它不负责数据的输入输出,而是专门用来管理文件和目录。(2)在Java语言中,目录也作为File类的对象进行处理。(3)每个File类的对象都

5、表示一个文件或目录,调用其方一法就可以获得该文件或目录的属性,完成对文件或目录的常用管理操作。(4)流类关心的是文件的内容,而File类关心的是文件在磁盘上的存储。2File类的方法(1)创建文件,与一般的类的初始化格式一样:File name=new File(<pathname>);File name=new File(<path>,<filename>);说明:构造函数的参数可以是路径文件名,也可以是路径和文件名。(2)文件名操作,有getName(),getParent(),getPath(),list(),getCanonicalPath()thr

6、ows IOException等。(3)测试文件属性操作,有isDirectory(),isAbsolute(),exists(),canRead(),canWrite()等。(4)文件信息操作,有delete(),deleteOnExit(),length(),lastModified()等。(5)目录操作,有mkdir(),mkdirs(),list(),listRoots()等。(6)其他,有hashCode(),setLastModified(long time),setReadOnly()等。3随机文件流RandomAccessFile类用来实现对文件的随机读写操作。它继承自Obje

7、ct类,实现了DataInput和DataOutput接口。构造方法如下:RandomAccessFile raf=new RandomAccessFile(<文件名>,<访问模式>):说明如下:(l)文件名参数,可以是File类对象或文件名字符串的形式提供。(2)访问模式,有2种取值:“r”只读,或者“rw”读写。4压缩文件流压缩文件流被定义在javautilzip包和Javautiljar包中,包括压缩文件输入流ZipInputStream和压缩文件输出流ZipOutputStream。编写程序时一般使用压缩文件流的步骤如下:(1)将一个Zip文件作为FileInp

8、utStream构造方法的参数。(2)将上述FileInputStream对象作为ZipInputStream构造方法的参数。(3)再将上一步中的ZipInputStream对象作为InputStreamReader构造方法的参数。(4)最后InputStrearn Reader对象作为BufferedReader构造方法的参数,然后就可以使用readLine()等方法进行操作。73字节I/O流考点:3字节I/O流1字节输入流字节输入流继承自InputStream类,并且使用DataInputStream实现DataInput接口。编程时一般的步骤如下:(1)字节数据的来源(二进制文件)作为F

9、ileInputStream的构造方法的参数,实例化一个 FileInputStream对象。(2)FileInputStream对象作为DataInputStream的构造方法的参数。(3)然后就可以使用InputStream类中的方法,进行字节输入流的操作。InputStream类的方法有:read(),available(),skip(),close()等。2字节输出流字节输出流继承自OutputStream类,并且通过DataOutputStream实现DataOutput接口。编程时的一般步骤和上述字节输入流相似,只是将相应的输入流类换成输出流类即可。OutputStream类的方法

10、有:writeDouble(),writeInt(),writeChar(),write(),flush()等。3读写内存在Javaio包中,能够直接访问内存的类有3个。(1)ByteArrayInputStream,用于从字节数组中读取数据,主要方法有:read(),skip(),reset(),close()等。(2)ByteArrayOutputStream,用于向字节数组写入数据,主要方法有:write(),writeTo(),reset(),close()以及toByteArray(),size(),toString()。(3)StringBufferlnputStream类。这几个

11、类都继承自InputStream和OutputStream类。74字符类I/O流考点:4字符类I/O流字符类I/O流是用于处理16位Unicode码的流,这些类继承自Reader和Writer类。编程时使用字符类I/O流操作带有分隔符的Unicode码文件的一般步骤如下:(l)将Unicode文件作为参数分别构造FileReader和FileWriter对象。(2)以FileReader对象作为参数构造BufferedReader对象。(3)以FileWriter对象作为参数构造PrintWriter对象。(4)调用BufferedReader对象的readLine()方法读取Unicode码

12、数据或者按照分隔符读取某个记录的每个字段。(5)调用PrintWriter对象的println()方法写入Unicode码记录或数据。1字符类输入流字符类输入流都继承自Reader类,实现从数据源读取Unicode码序列的操作。(1) FileReader类继承自InputStreamReader类,用于读取Unicode码。(2 ) BufferedReader类继承自Reader类,它使用缓冲技术,提高了字符传输的效率。( 3 ) InputStreani Reader类和BufferedReader类都继承自Reader类。(4)Reader类包含的方法有:read),skip(),ma

13、rkSupported),mark(),reset()等。(5)InputStreamReader类包含的方法有:getEncoding),InputStreamReader(),close()等。(6)BufferedReader类包含的方法有:readLine(),BufferedReader()等。2字符类输出流字符类输出流继承自Writer类,实现向数据目的地输出Unicode码序列的操作。(1)PrintWriter和OutputStreamWriter是Writer的子类。(2)PrintWriter类用于输出字符,其方法println()实现向输出流写入字符数据。(3)Outpu

14、tStreamWriter类的子类FileWriter,实现向文本文件写入字符数据。(4)Writer类包含的方法:write(),flush()等。(5)OutputStreamWriter类包含的方法:OutputStreamWriter(),close()等。(6)BufferedWriter类包含的方法:newLine(),BufferedWriter()等。75过滤流和管道流考点:5过滤流在Java中,过滤流提供了对I/O的同步处理机制。javaio包中的FilterInputStream和FileOutputStrean抽象类实现了过滤流。(l)使用过滤流之前,需要将该过滤流和一个

15、I/ O流相连。(2)BufferedInputStreamt和BufferedOutputStream类分别继承自FilterInputStream和FileOutputStream类,使用缓冲技术,提高了效率。(3)DataInputStream和DataOutputStream可以用于读写Java语言的基本数据类型,不用做转换。考点:6管道流在Java中,不同的Java程序、线程或代码段相互之间的数据交换通过管道流实现。javaio包中的2个类:PipedInputStream和PipedOutputStream类实现了管道机制。 76 J2SE1 4中的新I/O功能考点:7J2SE14中的新I/O功能J2SE14提供了一些新的I/O功能,被封装在javanio包中。其特点是:使用内存映射技术、文件锁定、字符及编码、非阻塞I/O等。(1)内存映射,将磁盘文件映射到内存,提高读写速度。(2)文件通道,为磁盘文件映射到内存提供通道。(3)CRC32类,进行差错控制。77 I/O流和正则表达式考点:8I/O流和正则表达式Java中,使用正则表达式包(javautilregex)和javanet URL类结合,处理网络上的字

温馨提示

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

评论

0/150

提交评论