java学习笔记11

今天学习RandomAccessFile,看字面意思就觉得是,随机访问文件,是的这个类是操作文件的,

首先了解构造函数,RandomAccessFile(File file,String mode) ,mode是操作模式 有四种模式

r  rw  rws   rwd   前两种用的很多。

接下来方法,getFilePoint 字面意思  得到指针位置

seek  设置指针的文职。

然后就是 write read 这个类里面封装了文件字节流对象

下面举几个例子


public   void writeFile(){

RandomAccessFile raf=new RandomAccessFile("ran.txt","rw");//设置模式为读写操作,文件名为ran.txt

raf.write("张三".getBytes());

//raf.wriet(284);//这种write写int类型的时候,只写八个字节,也就是是说大于的话,会丢失数据

//所以提倡使用下面这种方法

raf.writeInt(184);//这种方法,是写四个字节,

raf.write("李四".getBytes());

raf.writeInt(95);

raf.close();

}


public void readFile(){

RandomAccessFile raf=new RandomAccessFile("ran.txt","rw");

byte b[]=new byte[1024];

raf.read(b);//读四个字节

String name=new String(b);

int age=raf.readInt()

System.out.println(name+";;"+age);

}


//但是上面的写方法很麻烦

public static void writeFile_2(){

RanAccessFile raf=new RamdomAccessFile("ran.txt","rw"):

raf.seek(8*1);//这里就体现了随机访问的特性,设置指针的位置实现随机访问

raf.skipBytes(8*1);//这个方法也可以,跳过多少个字节数

raf.write("zz".getBytes());

raf.close();

}


//但是我也有几个问题,就是字节数的问题,writeInt()为什么会有空格?

你可能感兴趣的:(java)