文件(三)--RandomAccessFile
2014-09-24 09:00
176 查看
1.JAVA文件模型
在硬盘中的文件是byte存储的,是数据的集合。2.打开文件
有两种方式:“rw”(读写),“r”(只读);RandomAccessFile raf = new RandomAccessFile(file,“rw”);
文件指针,打开文件时文件指针pointer = 0;
3.写方法
raf.write()--每次写,只能写一个字节(后8位),pointer加1,指向下个位置,准备再次写入4.读方法
int b = raf.read()--和写一样一次读一个字节5.关闭
读写完成后一定要关闭raf.close(),不然会出现不可预料的错误示例代码:
import java.awt.Point;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.RandomAccess;
public class RandomAccessFileSy {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
File demo = new File("demo");
if(!demo.exists()){
demo.mkdir();
}
File file = new File(demo,"raf.dat");
if(!file.exists()){
file.createNewFile();
}
RandomAccessFile raf = new RandomAccessFile(file, "rw");
//指针的位置
System.out.println(raf.getFilePointer());
//注意每次只能写一个字节
raf.write('A');
System.out.println(raf.getFilePointer());
raf.write('b');
int i = 0x7fffffff;//最大整数,四个字节
raf.write(i>>>24);
raf.write(i>>>26);//四次写入
raf.write(i>>>8);
raf.write(i);
raf.writeInt(i);//或者直接调用该方法,其实现如上所示
String s = "余";
byte[] bytes = s.getBytes("gbk");
raf.write(bytes);
System.out.println(raf.getFilePointer());
//读的时候指针要指向开头
raf.seek(0);
//一次性读取
byte[] dbyte = new byte[(int)raf.length()];
raf.read(dbyte);
System.out.println(Arrays.toString(dbyte));
for (byte b : dbyte) {
System.out.print(Integer.toHexString(b&0xff)+" ");
}
raf.close();
}
}
相关文章推荐
- java中RandomAccessFile 类对文件进行读写
- RandomAccessFile对文件进行简单加密
- FileInputStream RandomAccessFile BufferedReader MappedByteBuffer 大文件数据读取效率测试
- Java文件操作---RandomAccessFile随机读写文件操作
- RandomAccessFile读取大文件时效率很低,现进行改进---BufferedRandomAccessFile
- java中RandomAccessFile 类对文件进行读写
- jvm hotspot 源码分析 RandomAccessfile vs FileChannel 写文件
- Java中使用RandomAccessFile向文件最后写入内容
- 按行读取文件比较Scanner和RandomAccessFile读取的效率
- java RandomAccessFile读取文件追加内容
- java中RandomAccessFile 类对文件进行读写
- RandomAccessFile任意访问文件的位置
- 使用RandomAccessFile来读取不断增长的文件
- RandomAccessFile文件读写
- MappedByteBuffer+RandomAccessFile读写文件
- 2011-09-01--RandomAccessFile 随机读取文件
- 案例 1-7: 利用 RandomAccessFile 向文件追加内容
- RandomAccessFile实现文件的读入和写入
- IO流--RandomAccessFile--随机访问文件
- JavaIO之RandomAccessFile随机访问文件