当前课程知识点:Java程序设计 >  第五章 输入输出 >  5.3.8-随机文件读写 >  随机文件读写

返回《Java程序设计》慕课在线视频课程列表

随机文件读写在线视频

随机文件读写

下一节:本章小结

返回《Java程序设计》慕课在线视频列表

随机文件读写课程教案、知识点、字幕

大家好

欢迎回来继续学习

Java语言程序设计

这一节我们来简单了解一下

随机文件的读写

我们知道Java

将数据的输入输出都看作字节流

所以从根本上来说

它对文件的随机读写

支持得并不是很好

在Java看来这个文件

是不带结构信息的

但是Java依然为我们

提供了有关文件读写的类

如果我们文件结构

自己能够设计好的话

随机读写也还是可以实现的

只是略有些麻烦

在RandomAccessFile这个类中

实际上它是为我们

提供了可以跳转到文件任意位置进行读写的这样的方法

那么到底我们想随机读写

如何跳转到文件的那些位置

那些位置怎么计算出来

这个都要靠我们

程序员自己来计算

所以一般来说

你要进行随机读写的文件

它应该是结构比较整齐的

你要读写的每一条记录

应该是等长的

否则的话你这样去移动读写位置

有的时候计算不精确

就可能造成错误

那么读写的数据就没有意义了

这个RandomAccessFile类

它是实现了DataInput

和DataOutput接口的

它是可以用普通的读写方法的

那么它给我们提供的

有关随机读写的特殊功能

就是移动位置指示器的功能

像这个skipBytes方法

seek方法、getFilePoint方法

就是干这样的事情用的

这里列出了这个类的构造方法

还有我们要注意在构造一个

RandomAccessFile对象的时候

还应该指出你想做什么操作

是仅仅读呢还是能读也能写

所以要指出它的操作来

在这个表中列出

RandomAccessFile类的常用的API

大家可以做一个参考

下面我们就来看一个

随机文件读写的例子

这个例子中演示了

一下文件的随机读写

注意要实现随机读写的话

文件的记录必须是等长的

如果是不等长的话

那是没法做随机读写的

所以我们在这儿规定姓名

不超过8个字符

所以姓名是放在一个

字符类型的数组里面去的

而不是用的String类型

因为String类型的对象

你可以把它初始化成任何长度

就很难保证你的写入的记录

是等长的了

那么在构造方法中

我们将这个成员数组

name和age初始化好

然后在这个后面的

这个writeEmployee readEmployee

这些方法中我们就

尝试着用这个seek方法去移动

读写指示器

这个具体逻辑非常简单

我建议大家课后

自己运行观察一下

在文件里面的读写

内容到底是什么是不是正确的

那么关键就是说用

seek准确的去定位到你的一个完整记录的开始位置

那么其他的逻辑都比较简单

在主方法中

我们就来测试一下

要指定从文件中读出

第几个雇员的信息

然后把它写在显示器上

那么这里我们把这雇员的编号

放进这个参数里面去

这个编号是从0开始的

那么这个时候

就调用了readEmployee方法

调用了readEmployee方法

它参数 是一个整数

然后我们在这里看到

会调用seek去按照

你指定的雇员的序号去移动读写指示器

然后从那个移动以后的位置

开始来读

我们来看如果你

设计的都是等长记录

而且计算准确的话

是能够这样正确读出这些信息的

大家可以去自己

运行测试一下这个程序

也可以替换一下文件

里面的不同对象内容

你尝试着自己写一个

读写不同内容的这个随机读写文件

在这一节我们简单的了解了一下

在Java中怎么样读写随机文件

这一节内容就是这些

Java程序设计课程列表:

第一章 Java语言基础知识

-1.0-导学

--1.0-导学

--JDK的安装与配置01

--JDK的安装与配置02

--JDK的安装与配置03

--编辑并执行第一个java程序01

--编辑并执行第一个java程序02

--编辑并执行第一个java程序03

--eclipse的安装和配置01

--eclipse的安装和配置02

--eclipse的安装和配置03

--使用eclipse进行Java的开发01

--使用eclipse进行Java的开发02

--使用eclipse进行Java的开发03

-1.1-Java与面向对象程序设计简介

--1.1.1 Java与面向对象程序设计简介

--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介

-1.2-基本数据类型与表达式

--1.2.1-基本数据类型与表达式

-第一章 Java语言基础知识--1.2-基本数据类型与表达式

-1.3-数组

--1.3.1-数组

-第一章 Java语言基础知识--1.3-数组

-1.4-算法的流程控制

--1.4.1-算法的流程控制

--第一章 Java语言基础知识--1.4-算法的流程控制

-1.5-第一章小结

--1.5.1-第一章小结

-第一章编程练习题

-课件

--外部链接

第一章续-习题讲解视频

-Java环境配置、Eclipse使用、Helloworld程序详解

--JAVA的安装和配置

--编写并执行第一个Java程序及Java的跨平台性

--eclipse的安装和配置

--使用eclipse建立Java项目、编写和运行Java程序

--Java注释和Eclipse中的注释操作

--详解HelloWorld程序

-Java数据类型

--Java数据类型介绍

--Java整数类型

--Java浮点类型

--Java字符类型和布尔类型

--数据类型实战

--数据类型转换

--Java强制类型转换精度损失示例与表达式中的数据类型转换

-Java数组

--Java数组介绍、声明与使用

--一维数组的初始化与length属性

--数组索引的原理与使用

--二维数组的介绍与使用

-Java变量

--Java的变量

-命令行参数

--命令行参数的介绍

第二章 类与对象

-2.0-导学

--2.0-导学

-2.1-面向对象方法的特性

--2.1-面向对象方法的特性

--第二章 类与对象--2.1-面向对象方法的特性

-2.2-1-类声明与对象创建

--2.2-1-类声明与对象创建

--第二章 类与对象--2.2-1-类声明与对象创建

-2.2-2-数据成员

--2.2-2-数据成员

--第二章 类与对象--2.2-2-数据成员

-2.2-3-方法成员

--2.2-3-方法成员

--第二章 类与对象--2.2-3-方法成员

-2.2-4-包

--2.2-4-包

--第二章 类与对象--2.2-4-包

-2.2-5-类的访问权限控制

--2.2-5-类的访问权限控制

--第二章 类与对象--2.2-5-类的访问权限控制

-2.3-1-对象初始化

--2.3-1-对象初始化

--第二章 类与对象--2.3-1-对象初始化

-2.3-2-内存回收

--2.3-2-内存回收

--第二章 类与对象--2.3-2-内存回收

-2.4-枚举类

--2.4-枚举类

--第二章 类与对象--2.4-枚举类

-2.5-应用举例

--2.5-应用举例

-2.6-第2章小结

--2.6-第2章小结

-第二章编程练习题

-课件

--第二章课件

第三章 类的重用

-3.0-导学

--3.0-导学

-3.1.1-3.1.2-类继承的概念和语法

--3.1.1-3.1.2-类继承的概念和语法

--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法

-3.1.3-隐藏和覆盖

--3.1.3-隐藏和覆盖

--第三章 类的重用--3.1.3-隐藏和覆盖

-3.2-Object 类

--3.2-Object 类

--第三章 类的重用--3.2-Object 类

-3.3-终结类与终结方法

--3.3-终结类与终结方法

--第三章 类的重用--3.3-终结类与终结方法

-3.4-抽象类

--3.4-抽象类

--第三章 类的重用--3.4-抽象类

-3.5-泛型

--3.5-泛型

--第三章 类的重用--3.5-泛型

-3.6-类的组合

--3.6-类的组合

-3.7-小结

--3.7-小结

-第三章编程练习题

-课件

--课件

第四章 接口与多态

-4.0-导学

--导学

-4.1-接口

--接口

--第四章 接口与多态--4.1-接口

-4.2.1-4.2.2-类型转换

--类型转换

--第四章 接口与多态--4.2.1-4.2.2-类型转换

-4.2.3-方法的查找

--方法的查找

--第四章 接口与多态--4.2.3-方法的查找

-4.3-多态的概念

--多态的概念

--第四章 接口与多态--4.3-多态的概念

-4.4-多态的应用举例

--多态的应用举例

--第四章 接口与多态--4.4-多态的应用举例

-4.5-构造方法与多态性

--构造方法和多态性

--第四章 接口与多态--4.5-构造方法与多态性

-4.6-本章小结

--本章小结

-第四章编程作业

-课件

--课件

第五章 输入输出

-5.0-导学

--5.0-导学

-5.1.1-5.1.2-异常处理的概念

--5.1.1-5.1.2-异常处理的概念

--第五章 输入输出--5.1.1-5.1.2-异常处理的概念

-5.1.3-5.1.5-异常的处理

--5.1.3-5.1.5-异常的处理

--第五章 输入输出--5.1.3-5.1.5-异常的处理

-5.2-输入输出流的概念

--输入输出流的概念

--第五章 输入输出--5.2-输入输出流的概念

-5.3.1-写文本文件

--写文本文件

--第五章 输入输出--5.3.1-写文本文件

-5.3.2-读文本文件

--读文本文件

--第五章 输入输出--5.3.2-读文本文件

-5.3.3-写二进制文件

--写二进制文件

--第五章 输入输出--5.3.3-写二进制文件

-5.3.4-读二进制文件

--读二进制文件

-5.3.5-File类

--File类

-5.3.6-处理压缩文件

--处理压缩文件

-5.3.7-对象序列化

--对象序列化

-5.3.8-随机文件读写

--随机文件读写

-5.4-本章小结

--本章小结

-课件

--课件

第六章 对象群体的组织

-6.0-导学

--导学

-6.1-Java集合框架介绍

--Java集合框架介绍

--第六章 对象群体的组织--6.1-Java集合框架介绍

-6.2-主要接口及常用的实现类

--6.2-主要接口及常用的实现类

--第六章 对象群体的组织--6.2-主要接口及常用的实现类

-6.3-常用算法

--常用算法

-6.4-数组实用方法

--6.4-数组实用方法

-6.5-基于动态数组的类型(Vector, ArrayList)

--基于动态数组的类型(Vector, ArrayList)

-6.6-遍历Collection

--遍历Collection

-6.7-Map接口及其实现

--Map接口及其实现

-6.8-第6章小结

--第6章小结

-课件

--课件

第七章 图形用户界面

-7.0-导学

--导学

-7.1-绘图

--绘图

-7.2-Swing基础

--Swing基础

-7.3-Swing的层次

--Swing的层次

-7.4-布局管理

--布局管理

-7.5-内部类

--内部类

-7.6-事件处理的基本概念

--事件处理的基本概念

-7.7-事件派发机制

--事件派发机制

-7.8-顶层容器

--7.8-顶层容器

-7.9-中间层容器(一)

--7.9-中间层容器(一)

-7.10-中间层容器(二)

--7.10-中间层容器(二)

-7.11-原子组件(一)

--7.11-原子组件(一)

-7.12-原子组件(二)

--7.12-原子组件(二)

-7.13-原子组件(三)

--7.13-原子组件(三)

-7.14-其它Swing特性

--7.14-其它Swing特性

-7.15-第7章小结

--7.15-第7章小结

-课件

--课件

随机文件读写笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。