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(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
RandomAccessFile简介_动力节点Java学院整理
RandomAccessFile RandomAccessFile 是随机访问文件(包括读/写)的类.它支持对文件随机访问的读取和写入,即我们可以从指定的位置读取/写入文件数据. 需要注意的是,RandomAccessFile 虽然属于java.io包,但它不是InputStream或者OutputStream的子类:它也不同于FileInputStream和FileOutputStream. FileInputStream 只能对文件进行读操作,而FileOutputStream 只能对文件进
-
java使用randomaccessfile在文件任意位置写入数据
复制代码 代码如下: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.RandomAccessFile; public class InsertContent { public static void insert(String fileName, long pos, String inse
-
Java RandomAccessFile的用法详解
RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和 DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系毫
-
Java使用RandomAccessFile类对文件进行读写
1. RandomAccessFile类简介 前面一篇随笔<File类遍历目录及文件>中有说到,File类只能用于表示文件或目录的名称.大小等信息,而不能用于文件内容的访问.而当需要访问文件内容时,就可以用RandomAccessFile类了. RandomAccessFile是Java提供用来访问一些保存数据记录的文件的类,可以进行读取操作,也可以进行写入操作,写入的数据则以byte的形式存储:支持随机访问,也就是可以访问文件的任意位置(通过文件指针实现). 2. 构造函数 RandomAc
-
深入分析:用1K内存实现高效I/O的RandomAccessFile类的详解
主体:目前最流行的J2SDK版本是1.3系列.使用该版本的开发人员需文件随机存取,就得使用RandomAccessFile类.其I/O性能较之其它常用开发语言的同类性能差距甚远,严重影响程序的运行效率.开发人员迫切需要提高效率,下面分析RandomAccessFile等文件类的源代码,找出其中的症结所在,并加以改进优化,创建一个"性/价比"俱佳的随机文件访问类BufferedRandomAccessFile.在改进之前先做一个基本测试:逐字节COPY一个12兆的文件(这里牵涉到读和写)
-
Java的字符读写类CharArrayReader和CharArrayWriter使用示例
CharArrayReader CharArrayReader 是字符数组输入流.它和ByteArrayInputStream类似,只不过ByteArrayInputStream是字节数组输入流,而CharArray是字符数组输入流.CharArrayReader 是用于读取字符数组,它继承于Reader.操作的数据是以字符为单位! CharArrayReader 函数列表: CharArrayReader(char[] buf) CharArrayReader(char[] buf, int
-
Java中IO流 RandomAccessFile类实例详解
Java中IO流 RandomAccessFile类实例详解 RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. java文件模型,在硬盘上的文件是byte byte byte存储的,是数据的集合 打开文件,有两种模式,"rw"读写."r"只读:RandomAccessFile raf = new RandomAccessFile(file, "rw");,文
-
Java RandomAccessFile 指定位置实现文件读取与写入
Java RandomAccessFile 指定位置实现文件读取与写入 RandomAccessFile是属于随机读取类,是可以对文件本身的内容直接随机进行操作的,可以在文件的指定位置的读取和写入内容,这在很多时候都是很方便的. RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和Out
-
Java核心编程之文件随机读写类RandomAccessFile详解
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 1.RandomAccessFile RandomAccessFile主要用于文件内容的读写访问 2.访问模式 "r":只读方式. "rw":打开以便读取和访问,如果文件不存在则创建文件. "rws": 除了'rw'功能以外,文件内容或者元数据更新时一同写入. "rwd":除了'rw'功能以外,文件内容更新时一同写入. 3.使用案例 pack
-
Java并发编程加锁导致的活跃性问题详解方案
目录 死锁(Deadlock) 死锁的解决和预防 1.超时释放锁 2.按顺序加锁 3.死锁检测 活锁(Livelock) 避免活锁 饥饿 解决饥饿 性能问题 上下文切换 什么是上下文切换? 减少上下文切换的方法 资源限制 什么是资源限制 资源限制引发的问题 如何解决资源限制的问题 我们主要处理锁带来的问题. 首先就是最出名的死锁 死锁(Deadlock) 什么是死锁 死锁是当线程进入无限期等待状态时发生的情况,因为所请求的锁被另一个线程持有,而另一个线程又等待第一个线程持有的另一个锁 导致互相等
-
java并发编程_线程池的使用方法(详解)
一.任务和执行策略之间的隐性耦合 Executor可以将任务的提交和任务的执行策略解耦 只有任务是同类型的且执行时间差别不大,才能发挥最大性能,否则,如将一些耗时长的任务和耗时短的任务放在一个线程池,除非线程池很大,否则会造成死锁等问题 1.线程饥饿死锁 类似于:将两个任务提交给一个单线程池,且两个任务之间相互依赖,一个任务等待另一个任务,则会发生死锁:表现为池不够 定义:某个任务必须等待池中其他任务的运行结果,有可能发生饥饿死锁 2.线程池大小 注意:线程池的大小还受其他的限制,如其他资源池:
-
java EasyExcel面向Excel文档读写逻辑示例详解
目录 正文 1 快速上手 1.1 引入依赖 1.2 导入与导出 2 实现原理 2.1 @RequestExcel 与 @ResponseExcel 解析器 2.2 RequestMappingHandlerAdapter 后置处理器 3 总结 正文 EasyExcel是一款由阿里开源的 Excel 处理工具.相较于原生的Apache POI,它可以更优雅.快速地完成 Excel 的读写功能,同时更加地节约内存. 即使 EasyExcel 已经很优雅了,但面向 Excel 文档的读写逻辑几乎千篇一
-
Python csv文件的读写操作实例详解
这篇文章主要介绍了Python csv文件的读写操作实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python内置了csv模块,用它可以方便的操作csv文件. 1.写文件 (1)写文件的方法一 import csv # open 打开文件有多种模式,下面是常见的4种 # r:读数据,默认模式 # w:写数据,如果已有数据则会先清空 # a:向文件末尾追加数据 # x : 写数据,如果文件已存在则失败 # 第2至4种模式如果第一个参数指
-
Java并发编程之同步容器与并发容器详解
一.同步容器 1.Vector-->ArrayList vector 是线程(Thread)同步(Synchronized)的,所以它也是线程安全的: Arraylist是线程异步(ASynchronized)的,是不安全的: 2.Hashtable-->HashMap Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable: HashMap是非synchronized,这意味着HashMap是非线程安全的; 3.Coll
-
PHP文件上传类实例详解
本文实例讲述了PHP文件上传类.分享给大家供大家参考,具体如下: 这里演示了FileUpload.class.php文件上传类,其中用到了两个常量,可在网站配置文件中定义: define('ROOT_PATH',dirname(__FILE__)); //网站根目录 define('UPDIR','/uploads/'); //上传主目录 具体代码如下: <?php //上传文件类 class FileUpload { private $error; //错误代码 private $maxsiz
-
java核心编程之文件过滤类FileFilter和FilenameFilter
本文实例为大家分享了文件过滤类FileFilter和FilenameFilter,供大家参考,具体内容如下 1.FileFilter package test; import java.io.File; import java.io.FileFilter; public class FileFilterTest implements FileFilter { private String extension; public FileFilterTest(String extension) { t
-
Java文件(io)编程之文件字符流使用方法详解
本文实例为大家分享了文件字符流的使用方法,供大家参考,具体内容如下 案例1: 读取一个文件并写入到另一个文件中,char[] 来中转. 首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串. public class Demo_5 { public static void main(String[] args) { FileReader fr=null; //文件取出字符流对象(输入流) FileWriter fw=null; //写入到文件(输出流) try { fr=new
-
java中创建写入文件的6种方式详解与源码实例
在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践,前提小知识 以前我在写技术文章
随机推荐
- 系统配置—获得更多常规内存
- JS实现控制表格行文本对齐的方法
- python文件操作之目录遍历实例分析
- Android ADB常用命令总结
- python检测是文件还是目录的方法
- python list排序的两种方法及实例讲解
- asp生成不需要数据库的中奖码
- 使用Broadcast实现Android组件间的通信
- 一天一个shell命令 linux文件内容操作系列-cat命令详解
- 本地 二级域名配置方法
- 自己编写sqlhelper类示例分享
- 浅谈EasyUI中Treegrid节点的删除
- jquery实现tab键进行选择后enter键触发click行为
- jQuery实现的简单分页示例
- JavaScript检测字符串中是否含有html标签实现方法
- java实现静默安装apk
- 实例讲解Java的设计模式编程中责任链模式的运用
- Java解决通信过程的中文乱码的问题
- 解析Android中的Serializable序列化
- Java学习笔记之异常处理