import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
/**File类和RandomAccessFile类的区别
* File类:
* 1:File类 用于描述文件系统中的一个文件或目录
* 2:程序员可以通过File类在程序中操作硬盘上的文件或目录。
* 3:File类只用来表示文件或目录的信息(名称,大小等),不能
* <span style="white-space:pre"> </span>对文件的内容进行访问。
* RandomAccessFile类:
* <span style="white-space:pre"> </span>可以随意基于字节读写文件的内容。
* 一句话总结:File不能读写文件,RandomAccessFile能读写文件。
*/
public class N_randomAccess {
/**RandomAccessFile
* 用于读写文件的类,可以对文件的内容进行操作;而File不可以对文件的内容进行操作
* @param args
*/
public static void main(String[] args) {
RandomAccessFile raf=null;
try{
/**构造方法1:
* RandomAccessFile(String filePath,String mode)
* 参数1:文件的路径
* 参数2:模式 两种常见的"r","rw"
*/
//先判断raf.dat在不在,若不在,则创建
//若创建文件失败,会抛出FileNotFoundExecption
//eg:a/raf.dat因为a目录不存在
//其实不是未找到,而是创建失败,因为要创建父类目录
// raf=new RandomAccessFile("raf.dat","rw");
/**构造方法2:
* RandomAccessFile(File file,String mode)
* 创建基于给定的File对象所描述的文件
* 进行读写操作的RandomAccessFile
*/
File file=new File("raf.dat");
raf=new RandomAccessFile(file,"rw");
/**
* 读写文件是以字节为单位进行的
*/
/**RandomAccessFile提供了很多的写方法
* 最基础的是:
* void write(int d)//参数为int,没有返回值
* 写一个字节,写的是给定的int值的"低八位"
*/
System.out.println((int)'š');
// raf.write('š');、//'š'的int值为353,二进制位101100001,但是只写入低8位
System.out.println((int)'a');
raf.write('š');
}catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(raf!=null){
raf.close();//close有异常
}
}catch(IOException e){
}
}
}
}
RandomAccessFile简单用法
最新推荐文章于 2024-07-15 22:55:18 发布