手记

IO流笔记

 一、RandomAccessFile是Java提供的对文件内容的访问既可以读文件也可以写文件;

  RandomAccessFile支持随机访问文件可以访问文件的任意位置

  1)Java文件模型在硬盘上的文件上是比byte byte byte存储的是数据的集合

  2)打开文件有两种模式“rw”读写“r”只读

  RandomAccessFile raf = new RandomAccessFile(file,"rw");

  文件指针打开文件时指针在开头pointer = 0

  3)写方法raf.write(int)-->只写一个字节后8位同时指针指向下一个位置准备再次


写入

  4)读方法int b = raf.read()-->读一个字节

  5)文件读写完成以后一定要关闭Oracle官方说明


二、IO流(输入流、输出流)

  字节流、字符流

  1、字节流

  1)InputStream、OutputStream

  InputStream抽象了应用程序读取数据的方式

  OutputStream抽象了应用程序写出数据的方式

  2)EOF = End 读到-1就读到结尾

  3)输入流基本方法:

  int b = in.read();读取一个字节无符号填充到int的低八位,-1是EOF

  in.read(byte[] buf)//读取数据填充到字节数组buf

  in.read(byte[] buf,int start,int size)//读取数据到字节数组buf,从buf的


strat位置开始存放size长度的数据

  4)输出流基本方法:

  out.write(int b)//写出一个byte到流,b的低8位

  out.write(byte[] buf)//将buf字节数组都写入到流

  out.write(byte[] buf,int start,int size)//字节数组buf从start位置开始写


size长度的字节到流

  5)FileInputStream(继承了InputStream)-->具体实现了在文件上读取数据

  6)FileOutputStream实现了向文件中写出byte数据的方法

  7)DataOutputStream/DataInputStream

  对“流”功能的扩展,可以更加方便的读取int,long,字符等类型数据

  DataOutputStream的常用方法:writeInt()/writeDouble()/writeUTF()

  8) BufferedOutputStream/BufferedInputStream:

  这两个流类为IO提供了带缓冲区操作,一般打开文件进行写入或读取操作时,都会


加上缓冲,这种流模式提高了IO的性能;从应用程序中把数据放入文件,相当于把一


缸水倒入到另一缸中

  FileOutputStream -->write()方法相当于一滴一滴地把水“转移”过去

  DataOutputStream -->writeXxx()方法方便些,相当于一瓢一瓢的把水“转移”过


  BufferedOutputStream -->write()方法更方便,相当于一瓢一瓢先放入桶中,再从


桶中倒入另一个缸中


1人推荐
随时随地看视频
慕课网APP

热门评论

不错

查看全部评论