对象和方法:
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. Mysql汉字乱码的解决

    在安装Mysql时其实可能选择使用GBK来处理汉字,由于以前没使用,所以就按默认的英语处理.不过,也可以C:\Program Files\MySQL\MySQL Server 6.8安装路径下的my文 ...

  2. 结束回调事件(开头必须cp开头,JSProperties传参)

    <dx:ASPxComboBox ID="comBrand" CssClass="case" ClientInstanceName="comBr ...

  3. C# BBcode 转 Markdown

    本文告诉大家一个简单的方法从 BBcode 转为 Markdown 本文的方法都是使用正则转换,现在支持的代码只有很少的常用标签,如果大家发现有转换失败的,请帮我修改代码,估计代码我不会进行修改. 最 ...

  4. An internal error occurred during: "Updating status for Tomcat v7.0 Server at localhost..."

    tomcat启动maven工程的时候提示如下错误信息: An internal error occurred during: "Updating status for Tomcat v7.0 ...

  5. JVM原理自总结

    一.成熟的系统调优1.一定要绝对避免循环查数据库和缓存(PS:循环里面就不能有查询缓存,更不能有查询数据库的操作,因为循环的次数没法控制) 2.对于API接口的话,一般都是直接查缓存的,没有查数据库的 ...

  6. Eclipse的版本命名

    Eclipse自3.1开始使用木星的卫星作为版本名,例如: 木卫一:伊奥 lo木卫二:欧罗巴 Europa木卫三:伽倪墨得斯 Ganymede木卫四:卡利斯托 Callisto .... Eclips ...

  7. 对JSON数据的解析(数据推送接口)

    package com.liuqi.www; import java.util.HashMap; import java.util.Map; import org.springframework.st ...

  8. CSS相对定位|绝对定位(五)之z-index篇——张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1855 补充于2016 ...

  9. DOM增删操作(创建删除表格)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  10. keras Lambda 层

    Lambda层 keras.layers.core.Lambda(function, output_shape=None, mask=None, arguments=None) 本函数用以对上一层的输 ...