一、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()方法更方便,相当于一瓢一瓢先放入桶中,再从
桶中倒入另一个缸中
热门评论
不错