java教程第四讲java的例外处理和i(编辑修改稿)内容摘要:

◇ 普通文件信息和工具 long lastModified( )。 //得到文件最近一次修改的时间 long length( )。 //得到文件的长度,以字节为单位 boolean delete( )。 //删除当前文件 ◇ 目录操作 boolean mkdir( )。 //根据当前对象生成一个由该对象指定的路径 String list( )。 //列出当前目录下的文件 【例 43】 import .*。 //引入 包中所有的类 public class FileFilterTest{ public static void main(String args[]){ File dir=new File( //用 File 对象表示一个目录 Filter filter=new Filter(Java)。 //生成一个名为 Java 的过滤器 (list Java files in directory +dir)。 String files[]=(filter)。 //列出目录 dir 下,文件后缀名 为 Java 的所有文件 for(int i=0。 i。 i++){ File f=new File(dir,files[i])。 //为目录 dir 下的文件或目录 创建一个 File 对象 if(()) //如果该对象为后缀为 Java 的文件, 则打印文件名 (file +f)。 else (sub directory +f )。 //如果是目录 则打印目录名 } } } class Filter implements FilenameFilter{ String extent。 Filter(String extent){ =extent。 } public boolean accept(File dir,String name){ return (.+extent)。 //返回文件的后缀名 } } 4. 5. 2 文件的顺序处理 类 FileInputStream 和 FileOutputStream 用来进行文件 I/O 处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读 /写。 例如,下列的语句段是顺序读取文件名为 text 的文件里的内容,并显示在控制台上面,直到文件结束为止。 FileInputStream fis。 try{ fis = new FileInputStream( text )。 ( content of text is : )。 int b。 while( (b=())!=1 ) //顺序读取文件 text 里的内容并赋值 给整型变量 b,直到文件结束为止。 { ( (char)b )。 } }catch( FileNotFoundException e ){ ( e )。 }catch( IOException e ){ ( e )。 } 4. 5. 3 随机访问文件 对于 InputStream 和 OutputStream 来说,它们的实例都是顺序访问流,也就是说,只能对文件进行顺序地读 /写。 随机访问文件则允许对文件内容进行随机读 /写。 在 Java 中,类 RandomAccessFile 提供了随机访问文件的方法。 类 RandomACCESSFile 的声明为: public class RandomACCESSFile extends Object implements DataInput, DataOutput 接口 DataInput 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数。 如: readBoolean( )、 readInt( )、 readLine( )、 readFully( ) 等。 接口 DataOutput 中定义的方法主要是向流中写入基本类型的数据、或者写入一定长度的字节数组。 如:writeChar( )、 writeDouble( )、 write( ) 等。 下面详细介绍 RandomACCESSFile 类中的方法。 ◇ 构造方法: RandomACCESSFile(String name,String mode)。 //name 是文件名, mode //是打开方式,例如 r表示只读, rw表示可读写, RandomACCESSFile(File file,String mode)。 //file 是文件对象 ◇ 文件指针的操作 long getFilePointer( )。 //用于得到当前的文件指针 void seek( long pos )。 //用于移动文件指针到指定的位置 int skipBytes( int n )。 //使文件指针向前移动指定的 n 个字节 4. 6 过滤流 过滤流在读 /写数据的同时可以对数据进行处理,它提供了同步机制,使得某一时刻只有一个线程可以访问一个 I/O 流,以防止多个线程同时对一个 I/O 流进行操作所带来的意想不到的结果。 类 FilterInputStream 和 FilterOutputStream 分别作为所有过滤输入流和输出流的父类 过滤流类层次: | + | + 为了使用一个过滤流,必须首先把过滤流连接到某个输入 /出流上,通常通过在构造方法的参数中指定所要连接的输入 /出流来实现。 例如: FilterInputStream( InputStream in )。 FilterOutputStream( OutputStream out )。 4. 6. 1 几 种常见的过滤流 ◇ BufferedInputStream 和 BufferedOutputStream 缓冲流,用于提高输入 /输出处理的效率。 ◇ DataInputStream 和 DataOutputStream 不仅能读 /写数据流,而且能读 /写各种的 Java 语言的基本类型,如: boolean, int, float 等。 ◇ LineNumberInputStream 除了提供对输入处理的支持外, LineNumberInputStream 可以记录当前的行号。 ◇ PushbackInputStream 提供了一个方法可以把刚读过的字节退回到输入流中,以便重新再读一遍。 ◇ PrintStream 打印流的作用是把 Java 语言的内构类型以其字符表示形式送到相应的输出流。 4. 7 字符流的处理 Java 中提供了处理以 16 位的 Unicode 码表示的字符流的类,即以 Reader 和 Writer 为基类派生出的一系列类。 4. 7. 1 Reader 和 Writer 这两个类。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。