趣文网 > 作文大全

Java面试题之RandomAccessFile是对文件做的操作和方法

2020-11-19 17:15:01
相关推荐

RandomAccessFile是对文件做哪些操作?常用方法有哪些?

RandomAccessFile用来读写文件数据内容的类,是基于指针进行读写,即:总是在执行当前位置读写字节,有两种常用模式:

1):只读模式 r: RandomAccessFile raf=new RandomAccessFile("raf.dat","r");

2):读写模式 rw : RandomAccessFile raf=new RandomAccessFile("raf.dat","rw");

第一个参数: 文件路径及文件名,第二个参数:模式 r rw

注意:

读写模式下,如果在读取文件的时目录下没有该文件,他会自动创建一个该名字的文件。只读模式下不会创建,并会抛出异常,常用方法:

void write(int d):向文件中写入1个字节,写的内容是指定int值对应2进制的低八位int read( ):读取一个字节,并以10进制的int值返回,返回的数字应在0-255之间,若返回-1,则表示读到文件末尾了,每次读取后自动移动文件指针,准备下次读取,int read(byte[]data):一次性尝试读取给定的字节数组总长度的字节量,并将读取到的字节存入到该数组中,返回值为实际读到的字节量,若返回值为-1,表示本次没有读到任何数据(文件末尾)。

void write(byte[]data):将给定的字节数组中所有字节一次性写出。

void write(byte[]data,int s,int len):将给定的字节数组从下标s处的连续len个字节一次性写出。

byte[] getBytes():把当前字符串按照系统默认字符集转换成一组字节。

byte[] getBytes(String csn):按照指定的字符集将当前字符串转换为一组字节常用字符集名称:GBK,UTF-8

long getFilePointer():获取当前指针的位置

void seek(long pos):将指针移动到指定位置

void writeInt(int d):将int值4个字节一次性写出,底层还是位移运算操作了4次。

另外还有重载的写出 double,byte等基本类型的方法,此处省略。

怎么将读到的字节转成字符串:

String构造方法支持4个参数:每次读取的字节量,从0开始读取,读取len个字节,使用UTF-8编码,如下:

String str=new String(data,0,len,"UTF-8");把读到字节按照指定格式转换为字符串。

阅读剩余内容
网友评论
相关内容
小编推荐

大家都在看

作文五一见闻 我的爸爸小学作文 真与假议论文800字作文 初一作文600 争做文明人作文 高中军训感受作文 鼓励孩子的作文 上海迪士尼一日游作文 陶瓷作文400字 写爸爸的作文300字 写一篇关于水果的作文 传统节日三年级作文300字 老师运动会作文 春节的作文600字左右 描写小河的作文 写一件事的作文350字 家乡的小河作文500字 感恩妈妈400字作文 接受与拒绝作文 思念家乡的作文800字 作文素材书推荐 人教版七年级上册第二单元作文 描写人的作文200字 告别老师作文 写绿萝的作文300字 万能作文结尾 作文过渡段摘抄 聆听作文600字 瀑布作文400字 怎么写作文点评