您的位置:首页 > 编程语言 > Java开发

java十九节-RandomAccessFile

2016-03-23 20:14 411 查看
package com.file;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;

public class RafDemo {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建文件目录
File file = new File("demo");
if (!file.exists()){
file.mkdir();
}
//创建文件
File file1 = new File(file,"raf.dat");
if (!file1.exists()){
file1.createNewFile();
}

RandomAccessFile raf = new RandomAccessFile(file1,"rw");
//指针位置
System.out.println(raf.getFilePointer());
raf.write('a');//只写了一个字节
System.out.println(raf.getFilePointer());
raf.write('b');
int i= 0x7fffffff;
//用write每次只能写一个字节,要写四次
raf.write(i>>>24);
raf.write(i>>>16);
raf.write(i>>>8);
raf.write(i);
System.out.println(raf.getFilePointer());
//可以直接写一个int
raf.writeInt(i);
String s = "中";
byte[] gbk = s.getBytes("gbk");
raf.write(gbk);
System.out.println(raf.getFilePointer());
//读文件,必须把指针移到头部
raf.seek(0);
//一次性读取,把文件中的内容得到字节数组中
byte[] buf = new byte[(int)raf.length()];
raf.read(buf);
System.out.println(Arrays.toString(buf));
}

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