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流(对象流总结)
对象流 对象流就是对引用数据类型进行操作 序列化:将对象的状态信息转换为可以存储或传输的形式的过程,因此类需要序列化后才可以存储到文件中 对象输出流: 很简单,就三句话,将把一个对象导入指定文件中,要 ...
随机推荐
- linux使用mail命令发送邮件
在工作中使用linux,偶尔也会需要使用mail命令来进行发邮件. 从上面的命令看,系统已经安装了mail,对些我们还需要设置一下mail,让它使用外面的邮箱进行发邮件.设置文件是 /etc/m ...
- mongodb自学
http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
- Hive配置文件hive-site.xml
<configuration> <property> <name>hive.metastore.warehouse.dir</name> <val ...
- 一次线上OOM过程的排查
https://blog.csdn.net/qq_16681169/article/details/53296137 一.出现问题 在前一段时间日常环境很不稳定,前端调用mtop接口会出网络异常或服务 ...
- Spring Boot学习笔记(八)使用jar和war方式打包并在外部Tomcat中部署运行
使用war包的方式发布到外部Tomcat中去 首先修改pom.xml中的配置,使打包方式设置为war包的形式 然后 maven update project 更新下项目 Application入口文件 ...
- 前端(九):react生命周期
一.组件渲染 当组件的props或者state发生改变时,组件会自动调用render方法重新渲染.当父组件被重新渲染时,子组件也会被递归渲染.那么组件是如何渲染的呢? # 方案一 1.state数据 ...
- Python 两个list合并成一个字典
方法一:list1 = ['k1','k2','k3'] list2 = ['v1','v2','v3'] dic = dict(map(lambda x,y:[x,y],list1,list2)) ...
- Python rest-framework 中类的继承关系(as_view)
一. 背景 最近几天一直在学习restful framework的源代码,用户请求的流程,在路由系统这块遇到一个疑问,关于类的继承关系,当请求进来到路由这块,执行as_view()方法的时候,为什么会 ...
- Ubuntu双系统环境下隐藏掉其他开机启动项
系统环境:ubuntu16.04需求:PC装的双系统(ubuntu+win10),为了应对某些需求,需要将win10系统给从电脑上消失,让你看不见也进不去它.做法:当然不可能真的删除掉win10系统, ...
- [微信小程序] 微信小程序富文本-wxParse的使用
最近小程序蛮火的,公司要做于是学了一点点小程序 不知道你们有没有遇到过这种问题: 从公司服务器获取的文章内容是有HTML标签格式的一段内容,但是微信是不支持这些标签的,怎么办呢? 1.一般网站后台的文 ...