第9讲 java的输入输出流.ppt

第9讲 java的输入输出流

在生成一个随机文件对象时,除了要指明文件对象和文件名之外,还需要指明访问文件的模式。 RandomAccessFile(File file, String mode) RandomAccessFile(String name, String mode) mode 的取值: “r” 只读. 任何写操作都将抛出IOException。 “rw” 读写. 文件不存在时会创建该文件,文件存在时,原文件内容不变,通过写操作改变文件内容。 “rws” 同步读写. 等同于读写,但是任何写操作的内容都被直接写入物理文件,包括文件内容和文件属性。 “rwd” 数据同步读写. 等同于读写,但任何内容写操作都直接写到物理文件,但对文件属性内容的修改不是这样。 ——随机访问文件( RandomAccessFile ) 5. 随机访问流 * File f = new File(“file.txt”); new RandomAccessFile(f, “r”); new RandomAccessFile(f, “rw”); new RandomAccessFile(“file1.txt”, “r”); new RandomAccessFile(“file2.txt”, “rw”); ——随机访问文件( RandomAccessFile ) 5. 随机访问流 * public class Random_file { public static void main(String args[]) { int data_arr[]={12, 31, 56, 23, 27, 1, 43, 65, 4, 99}; try { RandomAccessFile randf=new RandomAccessFile(“temp.dat”); for (int i=0; idata_arr.length; i++) randf.writeInt(data_arr[i]); for(int i=data_arr.length-1; i=0; i--) { randf.seek(i*4L); //int数据占4个字节 System.out.println(randf.readInt()); } randf.close(); }catch (IOException e){ System.out.println(“File access error: “+e); } } } * 本讲小结 在Java中有数据传输的地方都用到I/O流(通常是文件、网络、内存和标准输入输出等)。 InputStream 和OutputStream是所有字节流的祖先(只有RandomAccessFile类是一个例外),read和write是它们最基本的方法,读写单位是字节。 Reader 和Writer是所有字符流的祖先,read和write是它们最基本的方法,读写单位是字符。 在众多的流对象中,并不是每一种都单独使用,其中过滤流的子类在数据送出去之前做必要的处理。 文件 文件输入流 缓冲输入流 行号输入流 数据输入流 目的 * File, File(Input/Output)Stream, RandomAccessFile是处理本地文件的类。 Data(Input/Output)Stream是一个过滤流的子类,借此可以读写各种基本数据,在文件和网络中经常使用。如: readByte, writeBoolean等。 Buffered(Input/Output)Stream的作用是在数据送到目的之前先缓存,达到一定数量时再送到目的,以减少阻塞次数。 Piped(Input/Output)Stream适合与一个处理的输出作为另一个处理的输入的情况。 本讲小结 * * 大部分程序都需要输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在一个网络连接上进行读写操作等。 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。 * BufferedInputStream

文档评论(0)

1亿VIP精品文档

相关文档