java 输入输出IO流 RandomAccessFile文件的任意文件指针位置地方来读写数据

RandomAccessFile的介绍:

RandomAccessFile是Java输入输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据。与普通的输入/输出流不同的是,RandomAccessFile 支持"随机访问"的方式,程序可以直接跳转到文件的任意地方来读写数据。
这个类有两个构造器:
  • RandomAccessFile​(File file, String mode) 创建随机访问文件流,以便从File参数指定的文件中读取,也可以选择写入。
  • RandomAccessFile​(String name, String mode) 创建随机访问文件流,以便从具有指定名称的文件进行读取,并可选择写入该文件。
mode:
  • r:表示以只读的方式打开文件,就是说打开的文件只能读取,不能写入,如果写入将抛出异常
  • rw:写方式打开指定文件。如果该文件尚不存在,则尝试创建该文件
复制代码
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 * @ClassName RandomAccessFileExample
 * @projectName: object1
 * @author: Zhangmingda
 * @description: XXX
 * date: 2021/4/18.
 */
public class RandomAccessFileExample {
    public static void main(String[] args) {
        String textFilePath = "输入输出文件读写/src/test/input/test.txt";
        try(RandomAccessFile randomAccessFile = new RandomAccessFile(textFilePath,"r")) {
            //当前文件指针位置
            System.out.println(randomAccessFile.getFilePointer()); //0
            randomAccessFile.seek(3);
            System.out.println(randomAccessFile.getFilePointer()); //3
            byte[] bytes = new byte[1024];
            int len;
            while ((len = randomAccessFile.read(bytes)) != -1){
                String str = new String(bytes, 0, len, "utf-8");
                System.out.println(str);
                /**
                 *槽,这是测试输入的,你知道么?
                 * 不知道?
                 * 不知道拉到。
                 */
            }
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on   zhangmingda  阅读(309)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-04-18 CSS 常用颜色代号
2020-04-18 原生XMLHTTPResponse,jQuery-Ajax 上传文件;iframe上传图片&预览;图片验证码小案例
2020-04-18 CSS样式笔记
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示