021.13 IO流 RandomAccessFile对象
Posted Alos
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了021.13 IO流 RandomAccessFile对象相关的知识,希望对你有一定的参考价值。
对象和方法:
RandomAccessFile:文件操作对象,Java提供
getFilePointer:获取文件指针
特点:
1、只能操作文件
2、既能读,又能写
3、里面维护了一个数组,内部定义了字符的读和写
4、文件不存在则会创建,文件存在不会覆盖,保持原样
5、该对象打开文件,指针在开头。
6、随机的意思是可以随意在哪更改。。。。。。。。。。
打开方式有:"r"—以只读方式打开,"rw"—打开以便读取和写入,文件不存在则会尝试创建
// "rws"—相对于"rw",要求实时更新底层存储设备,"rwd"—要求实时更新底层存储设备
public static void main(String[] args) throws IOException { // writeFile(); readFile(); } //##随机写入 private static void writeFile() throws IOException { //创建一个随机访问文件的对象 RandomAccessFile raf = new RandomAccessFile("myfile\random.txt", "rw"); //写入点数据 raf.write("小红".getBytes()); raf.writeInt(98); //只是使用write只有后面一个字节的数据 raf.write("小花".getBytes()); raf.writeInt(99); //再随机写入数据 raf.seek(8); //指针位置指在这个位置,然后写入就会从这个地方开始写,所以文件保持一定的规律会比较好 raf.write("肖华".getBytes()); raf.writeInt(100); System.out.println(raf.getFilePointer()); raf.close(); } //读入 private static void readFile() throws IOException { RandomAccessFile raf = new RandomAccessFile("myfile\random.txt", "r"); raf.seek(8); byte[] buf = new byte[4]; raf.read(buf); String name = new String(buf); int age = raf.readInt(); System.out.println(name+":"+age); System.out.println(raf.getFilePointer()); }
以上是关于021.13 IO流 RandomAccessFile对象的主要内容,如果未能解决你的问题,请参考以下文章