RandomAccessFile(),读写文件数据的API,以及复制文件操作
package seday03;
import java.io.File;
import java.io.RandomAccessFile;
import java.io.IOException;
/**
*
* @author xingsir
*java.io.RandomAccessFile
* 专门用来读写文件数据的API,其基于指针读写,可以对文件任意位置进行读写操作,编辑文件数据内容非常灵活。
*/
public class RandomAccessFileDemo {
public static void main(String[] args) throws IOException {
/*
* 创建一个对当前目录下的 test1.txt文件操作的RAF
*
* 创建RAF时第一个参数为要操作的文件,第二个参数 为模式,模式有两个比较常用的选项:
* "r":只读模式
* "rw":读写模式
*/
RandomAccessFile raf=new RandomAccessFile("./test1.txt","rw");
raf.write(1);
System.out.println("写出完毕!");
raf.close();
}
}
//===============================================================================
package seday03;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* @author xingsir
* 从文件中读取字节
*/
public class RandomAccsessFileDemo2 {
public static void main(String[] args) throws IOException {
RandomAccessFile raf= new RandomAccessFile("Test1.txt","r");
/*
* int read()
* 从文件中读取1个字节,并以int形式返回
* 若返回值为-1,则表示已经读取到了文件末尾
*/
int d = raf.read();
System.out.println(d);
d = raf.read();
System.out.println(d);
raf.close();
}
}
//================================================================================
package seday03;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* @author xingsir
* RandomAccessFile 复制文件操作
*/
public class CopyDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile src
= new RandomAccessFile("./test1.txt","r");
RandomAccessFile desc
= new RandomAccessFile("./test1_copy.txt","rw");
int d = 0;
while((d = src.read())!=-1) {
desc.write(d);
}
System.out.println("复制完毕!");
src.close();
desc.close();
}
}
RandomAccessFile(),读写文件数据的API,以及复制文件操作的更多相关文章
- IO流,字节流复制文件,字符流+缓冲复制文件
JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream Reader 输出流的基类:OutputStream Writer 如果按数据单元划分:字节流和字符流 字节 ...
- Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹
(13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...
- 用winscp从本地上传文件到服务器上出现复制文件到远端时错误。
用winscp从本地上传文件到服务器上出现复制文件到远端时错误. 错误码:4 服务器返回的错误消息:write failed 报错如下图所示: 分析过程: 1.刚开始以为是权限不够,后面上网查了一下是 ...
- java删除文件夹 Java中实现复制文件或文件夹
删除文件夹 import java.io.File; public class DeleteDir { /** * @param args */ public static void main(Str ...
- UNIX环境编程学习笔记(4)——文件I/O之dup复制文件描述符
lienhua342014-08-23 UNIX 提供了两个函数 dup 和 dup2 用于复制一个现存的文件描述符. #include <unistd.h> int dup(int fi ...
- Java基础之访问文件与目录——移动或复制文件和目录(MoveAndCopyFiles)
控制台程序,创建和删除目录以及复制和移动文件. import java.nio.file.*; import java.nio.file.attribute.*; import java.io.IOE ...
- Solr json,xml等文件数据导入(添加索引)linux下操作
使用solr-5.3.1\example\exampledocs下的post.jar来完成数据导入 1.将想要导入的文件放在solr-5.3.1\example\exampledocs中,如aaa.x ...
- 使用JAVA API读取HDFS的文件数据出现乱码的解决方案
使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串 ...
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...
随机推荐
- Maven項目打包報錯:Plugin execution not covered by lifecycle configuration
Maven項目打包報錯:Plugin execution not covered by lifecycle configuration 使用Eclipse导入一个新的maven项目时不时的会遇到这个错 ...
- IT兄弟连 HTML5教程 HTML5表单 HTML表单设计2
5 隐藏域 隐藏域不会在表单中显示.如果需要在页面之间传递重要数据,则在<input>标签中设置type属性值为“hidden”建立一个隐藏域.name和value属性是必需的,用来表示 ...
- Java题库——Chapter12 异常处理和文本IO
异常处理 1)What is displayed on the console when running the following program? class Test { public stat ...
- C# 异步转同步 PushFrame
异步转同步-PushFrame 本文通过PushFrame,实现异步转同步 首先有一个异步方法,如下异步任务延时2秒后,返回一个结果 private static async Task<stri ...
- jvm虚拟机笔记<二> 垃圾回收与内存分配
确定对象已废弃需要两步: 利用可达性分析算法(与GC roots有关联——虚拟机栈中的对象,方法区静态对象,方法区常量对象,本地方法引用的对象)判断是否需要回收. 是否覆盖过finalize方法并执行 ...
- 解析innodb中的MVCC
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 使用Kubernetes进行ProxySQL本机群集
自v1.4.2起,ProxySQL支持本机群集.这意味着多个ProxySQL实例可识别群集; 他们了解彼此的状态,并能够通过根据配置版本,时间戳和校验和值同步最新的配置来自动处理配置更改. Proxy ...
- Pycharm2019最新激活注册码(pycharm激活教程)
给大家分享一下PyCharm2019最新可用的激活注册码.激活Pycharm专业版的方法有很多,这里主要给大家分享最有效的两种,一种是使用最新可用的注册激活码,一种是使用破解补丁的方法,这种方法虽然麻 ...
- C# 中使用 Redis 简单存储
Redis 是一个开源的使用 ANSI C语言编写的支持网络.可基于内存也可持久化的日志型.Key-Value 数据库. 常用它来存储缓存数据,能非常轻松的实现缓存过期刷新机制. 多种语言都可以连接到 ...
- 3-SQL过滤
# 筛选最大生命值大于6000,最大法力值大1700的英雄,然后按照二者之和从高到低进行排序 SELECT NAME , hp_max, mp_max FROM he ...