021.13 IO流 RandomAccessFile对象
对象和方法:
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对象的更多相关文章
- 021.12 IO流 ObjectStream对象序列化
内容:通过文件存储对象我们遇到的问题,需要保存对象到硬盘中,如何解决这个就是用来解决的 用法:1.创建流对象FileOutputstream2.创建ObjectOutputStream对象与FileO ...
- java 21 - 13 IO流之序列化和反序列化
序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输.对象 -- 流数据(ObjectOutputStream) 构造方法:ObjectInputStream(InputStream in) ...
- 021.9 IO流 流总结
###################################################################################IO流的规律总结:解决的问题,开发 ...
- 021.1 IO流——File类
########################################IO流: IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘 流:系统资源,Windows系统本身就可 ...
- Java基础(八)——IO流3_对象流
一.对象流 1.序列化与反序列化 序列化:将内存中的Java对象保存到磁盘中或通过网络传输出去. 反序列化:将磁盘文件中的对象还原为内存中的一个Java对象. 用途: (1)将对象保存到物理硬盘:比如 ...
- Java IO流之对象流
对象流 1.1对象流简介 1.2对象流分类 输入流字节流处理流:ObjectInputStream,将序列化以后的字节存储到本地文件 输出流字节流处理流:ObjectOutputStream 1.3序 ...
- 【Java IO流】对象的序列化和反序列化
对象的序列化和反序列化 1)对象序列化,就是将Object对象转换成byte序列,反之叫对象的反序列化. 2)序列化流(ObjectOutputStream),是字节的过滤流—— writeObjec ...
- [javaSE] IO流(对象序列化)
写入 获取ObjectOutputStream对象,new出来,构造参数:FileOutputStream对象目标文件 调用ObjectOutputStream对象的writeObject()方法,参 ...
- io流(对象流总结)
对象流 对象流就是对引用数据类型进行操作 序列化:将对象的状态信息转换为可以存储或传输的形式的过程,因此类需要序列化后才可以存储到文件中 对象输出流: 很简单,就三句话,将把一个对象导入指定文件中,要 ...
随机推荐
- 照猫画虎owin oauth for qq and sina
ms随vs2013推出了mvc5,mvc5自带的模板项目中引用了新的身份认证框架 ms identity.其中owin部分实现了google,facebook,twitter等国外常见的第三方用户.可 ...
- 一次线上OOM过程的排查
https://blog.csdn.net/qq_16681169/article/details/53296137 一.出现问题 在前一段时间日常环境很不稳定,前端调用mtop接口会出网络异常或服务 ...
- 地址解析协议ARP,网络层协议IP、ICMP协议
分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析并且应用ARP协议 2.分析IP协议 3.分析ICMP协议 1.分析arp报文的格式与内容 (1)ping ...
- 高并发第八弹:J.U.C起航(java.util.concurrent)
java.util.concurrent是JDK自带的一个并发的包主要分为以下5部分: 并发工具类(tools) 显示锁(locks) 原子变量类(aotmic) 并发集合(collections) ...
- hdu 2030 统计汉字个数
汉字统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- ASP.NET MVC传递Model到视图的多种方式总结(二)__关于ViewBag、ViewData和TempData的实现机制与区别
在ASP.NET MVC中,视图数据可以通过ViewBag.ViewData.TempData来访问,其中ViewBag 是动态类型(Dynamic),ViewData 是一个字典型的(Diction ...
- Golang beego ORM + CRUP 操作详解
构建beego Web 项目 首先构建一个beego 的web 项目,这个我们完全可以参考beego 官网中的开发文档,上面介绍的非常的详细,在这我就不给大家介绍,主要是介绍ORM ...
- Apache安装完后加入系统服务的相关操作详解
Apache源码安装完毕后, 1.下面的脚本运行后就可以直接使用service apachexxx stop/start 来控制apache的启动与停止了! cp /usr/local/apache/ ...
- jQuery筛选结果等于true的筛选
一般来说,使用jQuery筛选器的筛选结果都是数组,可以用length>0来判断是否筛选到:但是有一些筛选结果是布尔值,需要注意: 1.hasClass 2.is
- VMWare Workstation使用总结几则[转]
VMWare Workstation使用总结几则 1.安装 使用GHOST盘安装时一定要注意,需要把空盘建立分区并设置为主分区 PQ的使用形式,进入PQ找到磁盘设置为启用 否则 启动后显示Boot ...