java 文件的修改_使用java来修改文件内容
我需要就地修改文件的特定内容.
我不想创建一个新文件并重写旧文件.文件也很小,每个最大只有几MB.
对于那些想知道的人(虽然我不确定这是否与OP有关),我需要修改属于版本控制的文件并需要修改只读版本.在适当的位置进行修改要简单得多.
Java apis可以实现吗?
如果没有,是否有提供此功能的库?
解决方法:
Java允许随机访问和写入磁盘上的文件.但是,写入文件中间只能覆盖字节 – 即用其他字节替换特定字节 – 并且不能将数据插入文件的中间.为此,您必须在插入点之后重写所有内容.将文件视为恰好驻留在磁盘上的字符数组(char []).随机访问允许你做相同的
char[] file = ... // the file on disk
char[] newData = ... // the data to be written
int pos = ... // the position in the file to write to
for (i=0; i
{
file[pos+i] = newData[i];
}
要在文件中插入数据,需要使用与将数据插入数组相同的过程.插入点之后的所有数据都必须向右移动以容纳插入的数据.如果要用较短的字符串替换(即删除字节),则编辑后的数据必须向左移位.
其次,你说:
I need to modify files that are part of version control and need to modify a read-only version
只读就是这个意思.如果文件是只读的,则无论是否使用随机访问,都无法以任何方式对其进行修改.
你还在评论中说:
The new file will not be under source control.I will have to find a way to add it.I am trying to avoid this
如果文件受源代码管理,则您很可能正在使用本地副本.只要更新的文件与原始文件具有相同的名称并且位于同一目录中,如果您创建该文件的新实例,它就没有任何区别.您只需将更新的版本提交给源控制系统.
但是,如果要更新源控制系统存储库中的文件,则可能会永久损坏系统.
标签:java,file-io,inputstream,nio
来源: https://codeday.me/bug/20191002/1844316.html
java 文件的修改_使用java来修改文件内容相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?
本问题已经有最佳答案,请猛点这里访问. 我有一个大文件. 它包括大约3.000-20.000行. 如何使用Java获取文件中的行总数? 从你的评论到答案来判断,你要找的词是"有效的" ...
- java 写文件 属性吗_使用JAVA读写Properties属性文件
自己定义一个属性文件:例如prop.properties baseFilePath=D\:/kuanter/resource tesx=abcd 我们要做的第一步就是要将文件读取到Properties ...
- java resources目录 编码_关于Java项目读取resources资源文件路径
在看此篇博客是建议清楚classpath代表的路径,getServletContext().getRealPath("/")的含义,idea中项目编译后的目录格式,resoures ...
- java文件读取异常_关于Java:从文本文件读取会引发异常
因此,我使用了DataInputStream,FileInputStream,BufferInputStream,FileReader,BufferedReader,Scanner,将其命名. 它们都 ...
- java 图像刺绣算法_图像处理:OpenCV3源代码文件解析
引言 结合冈萨雷斯的<数字图像处理>和Opencv3.0,学习图像处理算法有一段时间了,知道了函数怎么使用,但不知道opencv所用的函数源代码是如何编写的,"知其然,也要知其所 ...
- java文件客户端下载_使用Java写一个minio的客户端上传下载文件
标签:color ati tty java system wired format media param 前言: 确保已经安装了minio的服务端 代码: pom.x ...
- 内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败
内存映射文件 写入 卡住 内存映射文件是一个很好的并且经常被忽视的工具. 我不会在这里详细介绍它们的工作方式(使用 力 Google Luke!),但我将快速总结其优势: 操作系统提供的延迟加载和写入 ...
- fileoutputstream 文件不存在_总结Java中创建并写文件的5种方式
在Java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面小编就帮大家总结一下Java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者 ...
最新文章
- (超贴心)Centos7安装2.5G网卡驱动(Realtek 3000)
- 19-6/28作业:100以内偶数求和
- 看板系统的表格动态数据显示
- 第八届蓝桥杯java b组第十题
- 转:CRC校验之模2除法
- 中国环境统计年鉴(2000到2018年)
- 使用阿里巴巴矢量图标库下载所需的小图标
- android回溯机制,Android事件分发机制全面解析
- 电脑端bilibili视频缓存合并视频的解惑
- 6月26日日志-消费记录界面实现
- Chrome浏览器保存微信公众号文章中的图片
- 计算机考研就业率,21考研同学需谨慎,三个专业就业率持续走低,包括热门计算机专业...
- 医学统计学中RR、OR和HR三个关于比值的概念
- 中州韵输入法 linux,linux manjaro安装五笔+拼音输入法(中州韵)
- 收楼了心情忐忑不安,该花钱请验房师来验房吗?找一个验房师需要多少钱,验房标准价格是多少,验房师现场验收出二百多个问题值不值
- 移动端软盘遮盖输入框的解决方案
- SAP ABAP OOALV常用的方法
- 自己写小工具 让工作更简单更效率
- 多个表左连接 先连大表还是小表_汽车连接器的拆卸工具
- 由货币的时间价值所想