Java IO流-随机访问流
发布日期:2022-04-02 18:15:45
浏览次数:10
分类:博客文章
本文共 1654 字,大约阅读时间需要 5 分钟。
2017-11-05 19:45:51
- RandomAccessFile类(随机访问流)
RandomAccessFile类:是Object的子类,此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer
方法读取,并通过 seek
方法设置。
*构造方法
mode:(一般只使用前两个参数)
*常用方法
public class Demo5 { public static void main(String[] args) throws IOException { read(); } public static void write()throws IOException{ RandomAccessFile raf = new RandomAccessFile("E:/test.txt", "rw"); raf.writeInt(50); raf.writeChar('a'); raf.writeUTF("世界"); raf.close(); } public static void read() throws IOException{ RandomAccessFile raf = new RandomAccessFile("E:/test.txt", "rw"); int i= raf.readInt(); System.out.println(i); System.out.println("当前文件位置:"+raf.getFilePointer()); char c = raf.readChar(); System.out.println(c); System.out.println("当前文件位置:"+raf.getFilePointer()); String s = raf.readUTF(); System.out.println(s); System.out.println("当前文件位置:"+raf.getFilePointer()); raf.close(); }}
代码的结果如下:
50当前文件位置:4 //因为Java中int类型占4个字节a当前文件位置:6 //Java中采用的是Unicode编码,所以char类型占2个字节世界当前文件位置:14 /*从当前文件指针开始读取前两个字节,类似于使用 readUnsignedShort。此值给出已编码字符串中随后的字节数,而不是结果字符串的长度。随后的字节然后解释为 UTF-8 修改版格式的字节编码字符,并转换为字符。所以是6+2+3*2 */
这里还可以使用seek来设置文件指针。
public static void read() throws IOException{ RandomAccessFile raf = new RandomAccessFile("E:/test.txt", "rw"); raf.seek(4); char c = raf.readChar(); System.out.println(c); raf.close(); }
转载地址:https://www.cnblogs.com/hyserendipity/p/7788518.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月01日 20时43分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python - 抓取汇率数据分析美元和欧元对RMB的变化曲线
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(1)
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(2)
2019-04-27
python - 批量更改文件名(过滤掉某个字符串)
2019-04-27
python 数据科学 - 【分类模型】 ☞ 决策树
2019-04-27
python - zip、numpy.c 函数
2019-04-27
python 数据科学 - 【分类模型】 ☞ 逻辑回归
2019-04-27
python 数据科学 - 【分类模型】 ☞ 稳健滴 SVM 支持向量机
2019-04-27
python - selenium 处理 alert
2019-04-27
Java - Set、List、Map
2019-04-27
Java - OnlyLady Spider(HttpClient 4.5 )
2019-04-27
Math - 高斯分布(正态分布)
2019-04-27
android学习笔记----简易音乐播放器原理
2019-04-27
Unity编辑器扩展——标签属性Attribute
2019-04-27
Unity中实现拖拽操作
2019-04-27
Unity中的UGUI事件系统
2019-04-27
C#中的常量
2019-04-27
C#中的静态变量与非静态变量
2019-04-27
C#中的ref、out、params关键字
2019-04-27