RandomAccessFile基本操作
来源:互联网 发布:有声漫画软件 编辑:程序博客网 时间:2024/05/20 18:18
一 简介
RandomAccessFile:java提供对文件内容的访问,既可以读文件,也可以写文件。
RandomAccessFile支持随机访问文件,可以访问文件的任意位置
1、java文件模型
在硬盘上的文件是byte byte byte存储的,是数据的集合
2、打开文件
有两种模式“rw”(读写) “r”(只读)
RandomAccessFile raf = new RandomAccessFile(file,"rw")
文件指针:打开文件时候指针在开头 pointer = 0;
3、写文件
raf.write(int)---->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入
4、读方法
int b = raf.read() ----->读一个字节
5、文件读写完以后一定要关闭
二 代码实现
package com.imooc.io;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Arrays;public class RafDemo {/** * @param args */public static void main(String[] args) throws IOException{File demo = new File("demo");if(!demo.exists())demo.mkdir();File file = new File(demo,"raf.dat");if(!file.exists())file.createNewFile();RandomAccessFile raf = new RandomAccessFile(file, "rw");//指针的位置System.out.println(raf.getFilePointer());raf.write('A');//只写了一个字节System.out.println(raf.getFilePointer());raf.write('B');int i = 0x7fffffff;//用write方法每次只能写一个字节,如果要把i写进去就得写4次raf.write(i >>> 24);//高8位raf.write(i >>> 16);raf.write(i >>> 8);raf.write(i);System.out.println(raf.getFilePointer());//可以直接写一个intraf.writeInt(i);String s = "中";byte[] gbk = s.getBytes("gbk");raf.write(gbk);System.out.println(raf.length());//读文件,必须把指针移到头部raf.seek(0);//一次性读取,把文件中的内容都读到字节数组中byte[] buf = new byte[(int)raf.length()];raf.read(buf);System.out.println(Arrays.toString(buf)); for (byte b : buf) {System.out.println(Integer.toHexString(b & 0xff)+" ");} raf.close();}}
三 实现效果
0
1
6
12
[65, 66, 127, -1, -1, -1, 127, -1, -1, -1, -42, -48]
41
42
7f
ff
ff
ff
7f
ff
ff
ff
d6
d0
阅读全文
0 0
- RandomAccessFile的基本操作
- RandomAccessFile基本操作
- RandomAccessFile基本操作
- RandomAccessFile类的基本操作
- RandomAccessFile类的基本操作
- java RandomAccessFile类文件基本操作
- File类的基本操作之RandomAccessFile写入操作
- Java文件操作——IO流 RandomAccessFile基本操作
- RandomAccessFile操作
- File类的基本操作之RandomAccessFile读取
- 【慕课笔记】3-1 RandomAccessFile基本操作
- RandomAccessFile的基本用法
- Java文件操作:RandomAccessFile
- RandomAccessFile文件读写操作
- File操作-RandomAccessFile
- java-文件操作RandomAccessFile
- Java基础——对象序列化+管道流+RandomAccessFile+操作基本数据类型的DataStream等
- 15、Java入门—Java IO流之RandomAccessFile类的基本操作
- ARP命令详解
- 置信区间
- mybatis教程
- ARM体系结构下面内存和i/o映射区别
- AHK源代码加密器 v1.0
- RandomAccessFile基本操作
- AHK多个脚本共享全局变量 v1.0
- 微软的Chart控件的用法-折线图
- 数字签名算法RSA
- 屏幕抓字生成字库工具与找字函数 v5.6
- 数字签名算法DSA
- 程序加密启动 v2.6
- 在屏幕顶部居中显示当前时间
- 强大的老板键【中键隐藏并静音】