package stream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.RandomAccessFile;

import org.junit.jupiter.api.Test;

/*

* RandomAccessTile:随机读写访问流

* 既可以是输入流,也可以是输出流

* r|w|d|s:读|写|更新数据|元数据更新

*

* w:是对开头对文件内容进行覆盖

*

* */

public class RandomAccessFileTest {

@Test

public void test1(){

RandomAccessFile raf1 = null;

RandomAccessFile raf2 = null;

try {

//1.流对象

raf1 = new RandomAccessFile(new File("hello.txt"),"r");

raf2 = new RandomAccessFile(new File("hello2.txt"),"rw");

//2.读写

byte[] buffer = new byte[1024];

int len;

while((len = raf1.read(buffer))!=-1) {

raf2.write(buffer,0,len);

}

} catch (Exception e) {

e.printStackTrace();

}

finally {

try {

if(raf1!=null)

raf1.close();

} catch (Exception e) {

e.printStackTrace();

}

try {

if(raf2!=null)

raf2.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

/*

* seek随机访问|插入方法

*

* */

@Test

public void test2() throws IOException {

RandomAccessFile raf1 = new RandomAccessFile("hello.txt", "rw");

/*raf1.seek(3);

raf1.write("abc".getBytes());

*/

/*

* 使用StringBuilder

* */

StringBuilder sb = new StringBuilder((int)(new File("hello.txt").length()));

raf1.seek(3L);

int len;

byte[] buffer = new byte[20];

while((len = raf1.read(buffer))!=-1) {

sb.append(new String(buffer,0,len));

}

raf1.seek(3L);

raf1.write("xyz".getBytes());

raf1.write(sb.toString().getBytes());

raf1.close();

}

}

java 21 - 12 随机访问流(不属于IO流)

随机访问流: RandomAccessFile类不属于流,是Object类的子类. 但它融合了InputStream和OutputStream的功能. 支持对文件的随机访问读取和写入. public ...

Java基础知识强化之IO流笔记63:随机访问流RandomAccessFile

1. 随机访问流RandomAccessFile RandomAccessFile类不属于流,是Object类的子类.但它融合了InputStream和OutputStream的功能.支持对随机访问文 ...

Java IO流之随机读写流RandomAccessFile

随机读写流RandomAccessFile 简介 此类的实例支持对随机访问文件的**读取和写入**. 随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组. 存在指向该隐含数组的光标或索引 ...

Java IO流-随机访问流

2017-11-05 19:45:51 RandomAccessFile类(随机访问流) RandomAccessFile类:是Object的子类,此类的实例支持对随机访问文件的读取和写入.随机访问文 ...

Java IO流之普通文件流和随机读写流区别

普通文件流和随机读写流区别 普通文件流:http://blog.csdn.net/baidu_37107022/article/details/71056011 FileInputStream和Fil ...

Java知多少(72)文件的随机读写

Java.io 包提供了 RandomAccessFile 类用于随机文件的创建和访问.使用这个类,可以跳转到文件的任意位置读写数据.程序可以在随机文件中插入数据,而不会破坏该文件的其他数据.此外,程 ...

Java编程的逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库

本系列文章经补充和完善,已修订整理成书,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

随机推荐

支持向量机(SVM)相关免费学习视频集锦

http://www.matlabsky.com/thread-36823-1-1.html [其它] 支持向量机(SVM)相关免费学习视频集锦    [复制链接]     faruto 签到天数: ...

day10---multiprocess 多进程

multiprocess Queue  \ Pipe 只是实现进程间数据的传递 Manager 实现了进程间数据的共享,即多个进程可以修改同一份数据   进程模块 multiprocessing #! ...

dbus

http://blog.csdn.net/zyz511919766/article/details/7700498 http://maemo.org/maemo_training_material/m ...

sed命令拷屏

http://blog.sina.com.cn/s/blog_45497dfa0100w6r3.html  sed样例较多,可以参考 http://blog.sina.com.cn/s/blog_6d ...

bzoj 1391 [Ceoi2008]order(最小割)

[题意] 有n个有偿工作选做,m个机器,完成一个工作需要若干个工序,完成每个工序需要一个机器,对于一个机器,在不同的工序有不同的租费,但买下来的费用只有一个.问最大获益. [思路] 对于工作和机器建点 ...

基于matlab的GUI界面开发软件

matlab工具deploytool编译M为可执行程序 http://blog.sina.com.cn/s/blog_60f8483a0100gnsm.html

android Base64加密解密

// 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 String str = "Hello!&q ...

DataTables源码分析(一)

DataTables源码分析 写在前面 作为一名常年奋战在java世界中的程序猿,当我接触到现在所谓的前端技术时,内心其实是崩溃的.因为,前端的技术给我的第一个感觉就是"乱",这里 ...

HDU - 1847 巴什博弈

思路:    0  1  2  3  4  5  6  7  8  9 10 11 12    P N  N P  N N  P N N  P N   N   P 不难发现:当n为三的倍数时,KIKI ...

to_char与to_date的区别

select * from csend where credttm > to_date('2018-06-11','yyyy-mm-dd'); select * from csend where ...

java随机访问流_java 随机读写访问流及seek方法相关推荐

  1. java override 访问权限_java基础之——访问修饰符(private/default/protected/public)

    1. 访问修饰符介绍 java中的访问修饰符包含了四种:private.default(没有对应的保留字).protected和public.它们的含义如下:private:如果一个元素声明为priv ...

  2. java的默认访问权限_java类的访问权限

    1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...

  3. java的四种访问权限_Java四种访问权限

    一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...

  4. java 多个类共用属性_java中读写Properties属性文件公用方法详解

    前言 大家都知道Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改 ...

  5. java 接口防刷_java轻量级接口限流/防刷插件

    简介 call-limit提供接口限流.防刷的功能,插件基于spring开发,在应用应用的任何一个逻辑层皆可使用(web.service.dao), 插件支持单机应用下的限流和分布式应用的限流(分布式 ...

  6. java字符的输入流_Java:字节流和字符流(输入流和输出流)

    InputStream是抽象基类,所以它不可以创建对象,但它可以用来"接口化编程",因为大部分子类的函数基类都有定义,所以利用基类来调用函数. FileInputStream是用来 ...

  7. java 文件追加文本_Java追加文件内容的三种方法

    importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileOutputStream;importjava.io.FileWri ...

  8. java i o中文版_Java文件I/O的三种方法

    摘要:之前在面试中被问到过两次Java中文件读入输出怎么写,当时只记得一个大概,没有办法很清晰的说出一个条理,今天特地看出总结了一下这方面的内容,想要写出来给大家分享.首先文件读入输出流常用有三种:F ...

  9. java中使用配置文件_Java中使用Properties配置文件的简单方法

    Java中使用Properties配置文件的简单方法 properties Properties文件是java中的一种配置文件,文件后缀为".properties",文件的内容格式 ...

最新文章

  1. 为什么学习Python数据分析
  2. 12.3、Libgdx的图像之截屏
  3. 3.Struts2的输入验证
  4. 09.07 jQuery 随意整理
  5. 计组之数据运算:9、浮点数的表示
  6. 你百分之九十九的问题都是因为懒
  7. oracle表中一个字段内容导出到磁盘上
  8. Linux 的简单钩子
  9. 解决python写入文件数据不全的问题
  10. python模拟登陆微博_超详细的Python实现微博模拟登陆,小白都能懂
  11. 系统win8 任务栏消失不见的解决办法
  12. 发布地图服务时导入已有的tpk切片包作为缓存
  13. 嘉兴 机器人仓库 菜鸟_菜鸟智能机器人仓库启用 助力包裹分得又快又好
  14. wps连接mysql odbc_如何在WPS中使用ADO连接数据库?
  15. UIView的frame与bounds
  16. 05-【gorm】GORM Model FindFirstWhere等查询函数的区别
  17. 辛普森法则(Simposon rule)求参数曲线弧长 Python (NURBS Butterfly 为例)
  18. 大学计算机基础教学网站
  19. CISP、CISP-PTE、CISP-DSG、CISP-IRE报名条件、考试内容、考题结构
  20. idea hybris integration 插件未生效

热门文章

  1. mac环境下ananconda安装失败,已经设置为所有来源可安装
  2. 通信工程师考试简介(直播回放)
  3. 美业系统源码saas平台源码-应用价值探讨
  4. Java项目:蓝天幼儿园管理系统(java+SpringBoot+thymeleaf+html+maven+mysql)
  5. c语言笔段式,缠论的分笔分段公式
  6. spring boot 文件下载接口
  7. 帝国理工计算机软件工程,帝国理工学院计算机软件工程理学硕士
  8. 连载一: 无限互联——我的学习生活
  9. oracle 压测工具 ld,ORACLE压力测试工具
  10. 爬取新浪社会新闻源代码