概述
-------android培训、java培训、期待与您交流! ----------
RandomAccessFile
该类不是算是IO体系中子类,而是直接继承自Object,但是它是IO包中成员。因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操作,可以通过getFilePointer获取指针位置,
同时可以通过 seek 设置 当前指针 的位置, skipBytes() 跳过 n个字节 ,不可以倒退,只能前进 !
构造函数
RandomAccessFile(File file, String mode) ,该文件由File参数指定,mode常见有r和rw
RandomAccessFile(String name, String mode)
如果模式为只读 r,不会创建文件,去读取一个已存在文件,如果该文件不存在,则会出现异常。
如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。
常见函数
long getFilePointer() 返回此文件中的当前偏移量。
int read(byte[] b)
String readLine()
void seek(long pos) 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。(可前进可倒退)
int skipBytes(int n)尝试跳过输入的 n 个字节以丢弃跳过的字节。 (只能前进)
void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入到此文件,并从当前文件指针开始。
void writeInt(int v)
/*
RandomAccessFile
Strawberry2013-5-5
*/
import java.io.*;
class RandomAccessFileDemo
{
public static void main(String[] args) throws Exception
{
write();
read();
}
public static void write() throws Exception
{
RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw");
raf.write("as".getBytes());
raf.write(2122);//只存储一个字节,会丢失数据, 可以使用raf.writeInt(2222);
//raf.writeInt(2222);
raf.seek(8);//设置指针的位置,可以前进也可以倒退
raf.skipBytes(8);//尝试跳过输入的n个字节以丢弃跳过的字节,不可以倒退!
raf.write(97);
}
public static void read() throws Exception
{
RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw");
byte[] bt = new byte[2];
int num = -1;
while((num=raf.read(bt)) != -1)
{
System.out.println(new String(bt, 0, num));
}
}
}
最后
以上就是整齐台灯为你收集整理的黑马程序员_Java基础_RandomAccessFile类的全部内容,希望文章能够帮你解决黑马程序员_Java基础_RandomAccessFile类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复