我是靠谱客的博主 整齐台灯,这篇文章主要介绍黑马程序员_Java基础_RandomAccessFile类,现在分享给大家,希望可以做个参考。

-------android培训java培训、期待与您交流! ----------


RandomAccessFile

该类不是算是IO体系中子类,而是直接继承自Object,但是它是IO包中成员。因为它具备功能。
内部封装了一个数组,而且通过指针对数组的元素进行操作,可以通过getFilePointer获取指针位置,
同时可以通过 seek 设置 当前指针 的位置, skipBytes() 跳过 n个字节 ,不可以倒退,只能前进

构造函数
RandomAccessFile(File file, String mode) ,该文件由File参数指定,mode常见有r和rw
RandomAccessFile(String name, String mode)
如果模式为只读 r不会创建文件,去读取一个已存在文件,如果该文件不存在,则会出现异常。
如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。


常见函数
long getFilePointer() 返回此文件中的当前偏移量。
int read(byte[] b)
String readLine()
void seek(long pos) 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。(可前进可倒退)
int skipBytes(int n)尝试跳过输入的 n 个字节以丢弃跳过的字节。 (只能前进)
void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入到此文件,并从当前文件指针开始。

void writeInt(int v)


复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* RandomAccessFile Strawberry2013-5-5 */ import java.io.*; class RandomAccessFileDemo { public static void main(String[] args) throws Exception { write(); read(); } public static void write() throws Exception { RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw"); raf.write("as".getBytes()); raf.write(2122);//只存储一个字节,会丢失数据, 可以使用raf.writeInt(2222); //raf.writeInt(2222); raf.seek(8);//设置指针的位置,可以前进也可以倒退 raf.skipBytes(8);//尝试跳过输入的n个字节以丢弃跳过的字节,不可以倒退! raf.write(97); } public static void read() throws Exception { RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw"); byte[] bt = new byte[2]; int num = -1; while((num=raf.read(bt)) != -1) { System.out.println(new String(bt, 0, num)); } } }


最后

以上就是整齐台灯最近收集整理的关于黑马程序员_Java基础_RandomAccessFile类的全部内容,更多相关黑马程序员_Java基础_RandomAccessFile类内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部