我是靠谱客的博主 动人小蜜蜂,最近开发中收集的这篇文章主要介绍CC00086.bigdatajava——|Java&IO流.V13|——|Java.v13|IO流.v13|RandomAccessFile类|概念使用|,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一、RandomAccessFile类
### --- 基本概念
——> java.io.RandomAccessFile类主要支持对随机访问文件的读写操作。
二、常用的方法
方法声明 | 功能介绍 |
RandomAccessFile (String name, Stringmode) | 根据参数指定的名称和模式构造对象 r: 以只读方式打开 rw:打开以便读取和写入 rwd:打开以便读取和写入,同步文件内容的更新 rws:打开以便读取和写入,同步文件内容和元数据的更新 |
int read() | 读取单个字节的数据 |
void seek(long pos) | 用于设置从此文件的开头开始测量的文件指针偏移量 |
void write(int b) | 将参数指定的单个字节写入 |
void close() | 用于关闭流并释放有关的资源 |
三、编程代码
package com.yanqi.task17;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileTest {
public static void main(String[] args) {
RandomAccessFile raf = null;
try {
// 1.创建RandomAccessFile类型的对象与d:/a.txt文件关联
raf = new RandomAccessFile("d:/a.txt", "rw");
// 2.对文件内容进行随机读写操作
// 设置距离文件开头位置的偏移量,从文件开头位置向后偏移3个字节 aellhello
raf.seek(3);
int res = raf.read();
System.out.println("读取到的单个字符是:" + (char)res); // a l
res = raf.read();
System.out.println("读取到的单个字符是:" + (char)res); // h 指向了e
raf.write('2'); // 执行该行代码后覆盖了字符'e'
System.out.println("写入数据成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3.关闭流对象并释放有关的资源
if (null != raf) {
try {
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
四、编译打印
D:JAVAjdk-11.0.2binjava.exe "-javaagent:D:IntelliJIDEAIntelliJ IDEA 2019.3.3libidea_rt.jar=55684:D:IntelliJIDEAIntelliJ IDEA 2019.3.3bin" -Dfile.encoding=UTF-8 -classpath E:NO.Z.10000——javaprojectNO.H.00001.javasejavaseoutproductionjavase com.yanqi.task17.RandomAccessFileTest
读取到的单个字符是:•
读取到的单个字符是:s
写入数据成功!
Process finished with exit code 0
最后
以上就是动人小蜜蜂为你收集整理的CC00086.bigdatajava——|Java&IO流.V13|——|Java.v13|IO流.v13|RandomAccessFile类|概念使用|的全部内容,希望文章能够帮你解决CC00086.bigdatajava——|Java&IO流.V13|——|Java.v13|IO流.v13|RandomAccessFile类|概念使用|所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复