84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
java 文件操作,如何向指定的位置插入内容 (不是替换内容) ?
光阴似箭催人老,日月如移越少年。
不存在真正意义上的插入文件,因为文件大小是确定的。所以只能用临时文件去替换源文件。
public void insert(String filename, long offset, byte[] content) { RandomAccessFile r = new RandomAccessFile(new File(filename), "rw"); RandomAccessFile rtemp = new RandomAccessFile(new File(filename + "~"), "rw"); long fileSize = r.length(); FileChannel sourceChannel = r.getChannel(); FileChannel targetChannel = rtemp.getChannel(); sourceChannel.transferTo(offset, (fileSize - offset), targetChannel); sourceChannel.truncate(offset); r.seek(offset); r.write(content); long newOffset = r.getFilePointer(); targetChannel.position(0L); sourceChannel.transferFrom(targetChannel, newOffset, (fileSize - offset)); sourceChannel.close(); targetChannel.close(); }
https://stackoverflow.com/que...
你参考下这个:
https://faceghost.com/questio...
不存在真正意义上的插入文件,因为文件大小是确定的。所以只能用临时文件去替换源文件。
https://stackoverflow.com/que...
你参考下这个:
https://faceghost.com/questio...