java-RandomAccessFile操作以及IO流简单使用
1.1RandomAccessFile--使用RAF读写基本类型数据,以及了解Raf的指针操作
write有相对应的写入基本类型的方法
void seek(Long pos)调整RAF指针位置,可以在写入时随时调整指针位置
raf.write(bs);写入一个字符串数组getBytes("UTF-8")--将字符串按照UTF-8解析成字符数组
raf.read(date);读取--参数为创建好的字节数组后将字节放在数组中返回参数为读取到的长度
1.2java IO流;IO流是用来读写数据的Java标准操作
流分为两个方向:
输入流输出流
输入流,inputstream:用于从数据源读取数据到程序中的流,负责读取数据操作
输出流,outputstream:用于从程序中将数据发送出去的流,负责写出数据操作
流进行了两个分类:
字节流,处理流
字节流:读写数据一定是建立在字节流的基础上的,是实际建立在数据源与程序间的“管道”,负责时间搬运数据
处理流:处理流不能独立存在,故名思议,用来处理其他流的流,处理其他流的目的是通过处理流可以简化对其处理流的读写操作(处理工作由处理流代劳)
文件流:文件流是一对低级流,文件输入流用于读取文件数据,文件输出流用于向文件中写入数据。
FileOutputStream支持两组常用的构造方法
FileOutputStream(String path)
FileOutputStream(File file)
创建针对指定的文件的输出流,默认是覆盖模式,即:若指定的文件已经存在,会将该文件所有的数据清除,然后通过该流写出的所有数据作为这个文件的数据保存
FileOutputStream(String path,boolean append)
FileOutputStream(File file,boolean append)
第二个参数为boolean值,若该值为true,则输出流为追加模式,即:该文件原有数据保留,通过当前流写出的所有数据会全部追加到文件的末尾。
文件输入流,用于读取文件中数据的流FileInputStream
缓冲流bufferedInputStrram缓冲字节输入流
bufferedOutputStrram缓冲字节输出流
缓冲流是一对高级流,功能是加快读写效率
缓冲流内部维护了一个字节数组所以实际上缓冲流还是靠提高读写的数据量减少实际的读写次数提高读写效率,bis.read()方法在第一次读取时实际读取了一组字节,并将第一个字节返回,当再次调用该方法读取一个字节时会将第二个字节直接返回。直到所有的字节都返回过后才会再次实际获取一组字节回来
缓冲输出流的缓冲区问题--flush();当需要强制将缓存中数据写入到内存中,使用这个方法可以实现,在调用缓冲流的close方法的时候,在方法的内部也调用了这个方法
对象流java.io.ObjectOutputStream
对象流是一对高级流,可以方便我们读写Java中的任何对象(对象与字节的转换工作有对象流完成)对象输出流,用于写出java中的对象(想对应的对象的输入流下次)
我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!
更多精彩以后更新,转载注明!
java-RandomAccessFile操作以及IO流简单使用的更多相关文章
- Java 持久化操作之 --io流与序列化
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...
- Java文件操作(IO流)
File 在java中用来表示文件和文件夹的具体类. File的构建 File的常见方法 字节流: 对象序列化: 字符流: 转接流: InputStreamReader. ...
- Java IO流简单使用
Java IO流简单使用 也许是以前IO方面接触的比较少,我对于读和写的概念老是混淆. 趁着现在实习比较闲小结一下,我个人理解读和写都是针对程序,分别就是程序的输入和输出,或者叫读入写出. Java ...
- Java socket中关闭IO流后,发生什么事?(以关闭输出流为例)
声明:该博文以socket中,关闭输出流为例进行说明. 为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new BufferedOutpu ...
- java写文件读写操作(IO流,字节流)
package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...
- 乐字节Java之file、IO流基础知识和操作步骤
嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流. 先来看看IO流的思维导图吧. 一. File 在Java中,Everything is Object!所以在文件中,也不例外! ...
- java学习(九) —— java中的File文件操作及IO流概述
前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...
- 【Java】IO流简单分辨
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...
- Java中常见的IO流及其使用
Java中IO流分成两大类,一种是输入流.全部的输入流都直接或间接继承自InputStream抽象类,输入流作为数据的来源.我们能够通过输入流的read方法读取字节数据.还有一种是输出流,全部的输出流 ...
随机推荐
- 【Unity Shader学习笔记】Unity基础纹理-法线贴图
1 高度纹理 使用一张纹理改变物体表面法线,为模型提供更多细节. 有两种主要方法: 1.高度映射:使用一张高度纹理(height map)来模拟表面位移(displacement).得到一个修改后的法 ...
- 20212115 实验三 《python程序设计》实验报告
实验报告 20212115<python程序设计>实验三报告 课程:<Python程序设计>班级: 2121姓名: 朱时鸿学号:20212115实验教师:王志强老师实验日期:2 ...
- Citrix Virtual Apps and Desktops 7 2203 LTSR虚拟云桌面单机教程
哈喽大家好,欢迎来到虚拟化时代君(XNHCYL). 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男.这里每天为你分享各种你感兴趣的技术.教程.软件.资源.福利--(每天更新不间断) 一 .主要内 ...
- SCI论文写作注意事项
1. 先写结论:(划定范围,以防添加无效的内容) 并非一开始就把整个结论都写出来,而是把
- 【C++函数题目】重载完成Compare函数
题目来源链接:https://www.dotcpp.com/oj/problem2008.html 题目讲解链接:http://6o2.cn/1yjJB2 题目描述 利用函数重载完成三个比较大小的C ...
- C语言 - 基础数据结构和算法 - 企业链表
听黑马程序员教程<基础数据结构和算法 (C版本)>,照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友可 ...
- ExtJS 布局-Table布局(Table layout)
更新记录: 2022年6月1日 开始. 2022年6月10日 发布. 1.说明 table布局类似表格,通过指定行列数实现布局. 2.设置布局方法 在父容器中指定 layout: 'table' la ...
- python requires模块 https请求 由于TLS协议版本太高导致错误
错误提示 requests.exceptions.SSLError: HTTPSConnectionPool(host='air.cnemc.cn', port=18007): Max retries ...
- 腾讯视频的qlv格式转换为mp4格式
1.点击设置->下载设置->缓存管理 下的文件目录复制; 2复制在 我的电脑路径栏目中 找到缓存目录 文件夹vodcache; 3.打开视频对应文件; 4.打开cmd命令窗口 5.跳转 到 ...
- 【Redis】集群故障转移
集群故障转移 节点下线 在集群定时任务clusterCron中,会遍历集群中的节点,对每个节点进行检查,判断节点是否下线.与节点下线相关的状态有两个,分别为CLUSTER_NODE_PFAIL和CLU ...