概述
----------------------
android培训
java培训 期待与您交流! ----------------------
package com.io.randomaccessfile;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 该类不是IO体系中的子类,而是直接集成自Object
* 但是它是IO中成员,因为它具备读写功能
* 内部封装了一个大型byte数组,而且通过指针数组的元素惊醒操作
* 可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置
* 其实文成读写的原理就是内部封装了字节输入流和输出流
* 通过构造函数可以看出,该类只能操作硬盘文件
* 而且操作文件还有模式:只读r,读写rw等等
* 而且该对象的构造函数要操作的文件不存在,会自动创建,如果存在,不会覆盖,会直接调用存在的
*
* 如果模式为只读r:不会创建文件,会去读取一个已存在的文件,如果文件不存在,则会出现异常
* 如果模式为可读可写rw:操作的文件不存在,会自动创建,如果存在,不会覆盖,会直接调用
* @author wjw
*/
public class RandowAccessFile_class {
public static void main(String[] args) throws IOException {
// writeMethod();
readMethod();
}
public static void readMethod() throws IOException{
RandomAccessFile raf=new RandomAccessFile("g:/java/randomAccessFile.txt","r");
raf.seek(8*5);//改变指针的位置,把指针移动到数组的第8*n个位置
byte[]b=new byte[4];
// raf.read(b);
// String name=new String(b);
// System.out.println(name);
// int age=raf.readInt();
// System.out.println(age);
raf.read(b);
String name1=new String(b);
System.out.println(name1);
int age1=raf.readInt();
System.out.println(age1);
raf.close();
}
public static void writeMethod() throws IOException{
RandomAccessFile raf=new RandomAccessFile("g:/java/randomAccessFile.txt","rw");
//当然写入数据的时候也可以指定指针的
raf.seek(8*5);
raf.write("战三22".getBytes());
raf.writeInt(99);//注意这里,这里用的writeInt()方法,此方法可以一次写8个字节,因为整形有八个字节,所以可以一次写入
raf.write("李四22".getBytes());
raf.writeInt(120);
raf.close();
}
}
----------------------
android培训
java培训 期待与您交流! ----------------------
详细请查看
http://edu.csdn.net/heima
最后
以上就是含蓄凉面为你收集整理的黑马程序员——RandomAccessFile随机读写数据的全部内容,希望文章能够帮你解决黑马程序员——RandomAccessFile随机读写数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复