您的位置:首页 > 其它

RandomAccessFile操作

2016-01-14 11:18 417 查看
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;

public class Raf {
public static void main(String[] args) throws IOException {
File file = new File("demo");//创建demo文件夹
if(!file.exists()){
file.mkdirs();
}
File raf = new File("demo","raf.dat");//创建文件raf.dat
if(!raf.exists()){
raf.createNewFile();
}
RandomAccessFile files = new RandomAccessFile(raf, "rw");//对文件进行读写操作
files.write('A');//写一个A字符
System.out.println(files.getFilePointer());//增加1,写入A时只写入后8位。
int i = 0x1fffffff;
//用write方法只能写入一个字节,int要全部写入就需要写4次
files.write(i >>> 24);//写入高8位
files.write(i >>> 16);
files.write(i >>> 8);
files.write(i);//写入i只写后8位
//可以用writeInt()方法直接写入
files.writeInt(i);
/**
*下面是writeInt()方法
*public final void writeInt(int v) throws IOException {
*write((v >>> 24) & 0xFF);
<span style="white-space:pre">	</span> *write((v >>> 16) & 0xFF);
<span style="white-space:pre">	</span> *write((v >>>  8) & 0xFF);
<span style="white-space:pre">	</span> *write((v >>>  0) & 0xFF);
<span style="white-space:pre">	</span> *//written += 4;
<span style="white-space:pre">	</span> *}
*/
//读操作,进行读文件时需要将指针指向头部,用seek()方法
files.seek(0);
byte[] bytes = new byte[(int)files.length()];
files.read(bytes);
System.out.print(Arrays.toString(bytes));
files.close();//最后要将文件关闭,否则会出现意想不到的错误
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: