Java核心编程之文件随机读写类RandomAccessFile详解
作者:夏天de树下睡着了 发布时间:2023-11-28 17:40:05
标签:java,读写类,RandomAccessFile
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
1.RandomAccessFile
RandomAccessFile主要用于文件内容的读写访问
2.访问模式
“r”:只读方式。
“rw”:打开以便读取和访问,如果文件不存在则创建文件。
“rws”: 除了‘rw‘功能以外,文件内容或者元数据更新时一同写入。
“rwd”:除了‘rw‘功能以外,文件内容更新时一同写入。
3.使用案例
package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccess {
public static void main(String[] args) {
try {
File file = new File("C:\\img\\666.txt");
//打开文件
RandomAccessFile randomAccess = new RandomAccessFile(file,"rwd"); //访问文件
Long lenth = randomAccess.length(); //获取文件长度
System.out.println("lenth:"+lenth);
randomAccess.seek(4); //设置指针位置
//读取文件
int c = randomAccess.read(); //读取一个字节
System.out.println("c:"+c);
System.out.println("c:"+(char)c); //转换为字符
byte[] b = new byte[3]; //读取字节数字,创建数组
randomAccess.read(b, 1, 2); //从指针1处读取两个字节写入数组b中
String s = new String(b); //转换为字符串
System.out.println("byte:"+s); //输出
//写入文件
File file2 = new File("C:\\img\\777.txt");
if(!file2.getParentFile().exists()){
file2.getParentFile().mkdirs();
}
file2.createNewFile();
RandomAccessFile randomAccess2 = new RandomAccessFile(file2,"rwd"); //访问文件
randomAccess2.write(b); //写入字符数组
//关闭文件
randomAccess.close();
randomAccess2.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
来源:http://www.cnblogs.com/wwyx-xi/p/7424660.html


猜你喜欢
- 值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容
- Alert顾名思义一就是一个警告框,一般使用情况比如:退出登录,清楚缓存,提示修改密码等等。。。ReactNative中的Alert只有一个
- Android 消息机制1.概述Android应用启动时,会默认有一个主线程(UI线程),在这个线程中会关联一个消息队列(MessageQu
- 很多人的程序在本地运行是好的,但是发布在服务器上后就会有各种各样的问题,但是服务器上又不能直接调试,所以直接读写本地日志成为解决问题的关键,
- (注意:本文基于JDK1.8) 前言Vector是线程安全的动态数组类,提供4个创建Vector对象的构造方法,接下来我们逐个分析
- 背景Android开发中,加载图片过多、过大很容易引起OutOfMemoryError异常,即我们常见的内存溢出。因为Android对单个应
- 本文实例讲述了C#简单创建和删除目录的方法。分享给大家供大家参考。具体如下:using System;using System.IO;cla
- 声明:作者是根据 Hongyang的博客自己实践之后,根据自己的理解写的,有什么不对的地方还望指正。 先放两张效果图 一、准备由于Andro
- Webview打开本地图片选择器十分之麻烦,其在安卓系统3x 4x 5x上的行为都不同,处理也不同,所以之前差点崩溃。经过测试和完善,最终其
- 前言这篇文章的内容基于对Spring Security 认证流程的理解,如果你不了解,可以读一下这篇文章:Spring Security 认
- java数据结构的堆什么是堆堆指的是使用数组保存完全二叉树结构,以层次遍历的方式放入数组中。如图:注意:堆方式适合于完全二叉树,对于非完全二
- 一.介绍门面模式(Facade Pattern)属于结构型模式。门面模式又叫作外观模式,通过给多个复杂的子系统提供一个门面(高层接口),使这
- 本文实例为大家分享了Android App获取屏幕旋转角度的具体代码,供大家参考,具体内容如下一、获取屏幕旋转角度的方法是:int rota
- MyBatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC
- StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),
- 1 Struts2框架内部执行过程Structs请求过程源码分析参考链接https://www.jb51.net/article/22058
- 一.Worker Thread模式Worker的意思是工作的人,在Worker Thread模式中,工人线程Worker thread会逐个
- 本文实例展示C#实现过滤html标签,汉字间空格,制表符,并保留a标签的方法。分享给大家供大家参考之用。具体方法如下:可以在公共类如Comm
- Dockerfile 构建java web 环境Dockfile 介绍:Dockfile是一种被Docker程序解释的脚本,Dockerfi
- 本文实例为大家分享了java实现简单年龄计算器的具体代码,供大家参考,具体内容如下制作一个如下图年龄计算器根据题目,我做了一个由Calend