对象和方法:
RandomAccessFile:文件操作对象,Java提供
getFilePointer:获取文件指针

特点:
1、只能操作文件
2、既能读,又能写
3、里面维护了一个数组,内部定义了字符的读和写
4、文件不存在则会创建,文件存在不会覆盖,保持原样
5、该对象打开文件,指针在开头。
6、随机的意思是可以随意在哪更改。。。。。。。。。。

打开方式有:"r"—以只读方式打开,"rw"—打开以便读取和写入,文件不存在则会尝试创建
 //  "rws"—相对于"rw",要求实时更新底层存储设备,"rwd"—要求实时更新底层存储设备

public static void main(String[] args) throws IOException
{
// writeFile();
readFile();
} //##随机写入
private static void writeFile() throws IOException
{
//创建一个随机访问文件的对象
RandomAccessFile raf = new RandomAccessFile("myfile\\random.txt", "rw"); //写入点数据
raf.write("小红".getBytes());
raf.writeInt(98); //只是使用write只有后面一个字节的数据
raf.write("小花".getBytes());
raf.writeInt(99); //再随机写入数据
raf.seek(8); //指针位置指在这个位置,然后写入就会从这个地方开始写,所以文件保持一定的规律会比较好
raf.write("肖华".getBytes());
raf.writeInt(100);
System.out.println(raf.getFilePointer()); raf.close();
} //读入
private static void readFile() throws IOException
{
RandomAccessFile raf = new RandomAccessFile("myfile\\random.txt", "r"); raf.seek(8);
byte[] buf = new byte[4];
raf.read(buf);
String name = new String(buf); int age = raf.readInt(); System.out.println(name+":"+age);
System.out.println(raf.getFilePointer()); }

021.13 IO流 RandomAccessFile对象的更多相关文章

  1. 021.12 IO流 ObjectStream对象序列化

    内容:通过文件存储对象我们遇到的问题,需要保存对象到硬盘中,如何解决这个就是用来解决的 用法:1.创建流对象FileOutputstream2.创建ObjectOutputStream对象与FileO ...

  2. java 21 - 13 IO流之序列化和反序列化

    序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输.对象 -- 流数据(ObjectOutputStream) 构造方法:ObjectInputStream(InputStream in) ...

  3. 021.9 IO流 流总结

    ###################################################################################IO流的规律总结:解决的问题,开发 ...

  4. 021.1 IO流——File类

    ########################################IO流:    IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘    流:系统资源,Windows系统本身就可 ...

  5. Java基础(八)——IO流3_对象流

    一.对象流 1.序列化与反序列化 序列化:将内存中的Java对象保存到磁盘中或通过网络传输出去. 反序列化:将磁盘文件中的对象还原为内存中的一个Java对象. 用途: (1)将对象保存到物理硬盘:比如 ...

  6. Java IO流之对象流

    对象流 1.1对象流简介 1.2对象流分类 输入流字节流处理流:ObjectInputStream,将序列化以后的字节存储到本地文件 输出流字节流处理流:ObjectOutputStream 1.3序 ...

  7. 【Java IO流】对象的序列化和反序列化

    对象的序列化和反序列化 1)对象序列化,就是将Object对象转换成byte序列,反之叫对象的反序列化. 2)序列化流(ObjectOutputStream),是字节的过滤流—— writeObjec ...

  8. [javaSE] IO流(对象序列化)

    写入 获取ObjectOutputStream对象,new出来,构造参数:FileOutputStream对象目标文件 调用ObjectOutputStream对象的writeObject()方法,参 ...

  9. io流(对象流总结)

    对象流 对象流就是对引用数据类型进行操作 序列化:将对象的状态信息转换为可以存储或传输的形式的过程,因此类需要序列化后才可以存储到文件中 对象输出流: 很简单,就三句话,将把一个对象导入指定文件中,要 ...

随机推荐

  1. DotNetBar 使用笔记

    1.删除表格的某一行数据,必须是VirtualMode  = false 的时候才生效,不然就只是灰色 SuperDBG_Right.PrimaryGrid.SetDeletedRows(SuperD ...

  2. DataContractSerializer数据不一致下序列化

       一.数据类型的等效性 例如下面定义的两个类成员名称.定义顺序都不一样,但是在DataContract.DataMember的Name属性作用下,两个类的实例对象序列化后的xml是一样的,因此Or ...

  3. java之Lombok

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法 pom依赖: <dependency ...

  4. Node.js 常用工具util包

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...

  5. MySQL7:性能优化

    性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能.MySQL优化,一方面是找出系统的瓶颈,提高MySQL数据库的整体性能:一方面需要合理的结构设计和参数调整,以提高用户操作响应的 ...

  6. EnyimMemcached(64位)使用实例

    1.安装:http://www.cnblogs.com/dudu/archive/2009/07/19/1526669.html 2.使用 using Enyim.Caching.Configurat ...

  7. JVM之---垃圾回收

    JVM通过GC来回收堆和方法区中的内存,GC的基本原理首先会找到程序中不再被使用的对象,然后回收这些对象所占用的内存. 1.收集器 通常采用收集器的方式实现GC,主要的收集器有引用计数收集器和跟踪收集 ...

  8. 【学习笔记】--- 老男孩学Python,day9, 文件操作

    有 + 就是有光标,注意光标位置 不同模式打开文件的完全列表:  http://www.runoob.com/python/python-files-io.html 模式 描述 r 以只读方式打开文件 ...

  9. Java Web应用开发工具

    java Web应用开发工具详细地址:https://my.oschina.net/gitosc/blog/1538466

  10. Vue 实现复制到粘贴板功能

    vue 实现复制到粘贴板功能需要依赖到 clipboard.js 1. 首先需要安装依赖  * 出现错误的话,可以试试 cnpm npm install --save vue-clipboard2 2 ...