久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

io - java 文件操作,如何向指定的位置插入內(nèi)容 (不是替換內(nèi)容) ?

瀏覽:110日期:2023-11-08 14:55:15

問題描述

java 文件操作,如何向指定的位置插入內(nèi)容 (不是替換內(nèi)容) ?

問題解答

回答1:

不存在真正意義上的插入文件,因為文件大小是確定的。所以只能用臨時文件去替換源文件。

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...

回答2:

你參考下這個:

https://faceghost.com/questio...

標(biāo)簽: java
主站蜘蛛池模板: 台安县| 卢湾区| 曲麻莱县| 和龙市| 宁德市| 华阴市| 留坝县| 陆川县| 田林县| 洪泽县| 囊谦县| 嘉祥县| 灵丘县| 天等县| 青阳县| 荃湾区| 含山县| 隆昌县| 乌拉特中旗| 宁城县| 大足县| 鄄城县| 炎陵县| 南华县| 乌苏市| 维西| 海门市| 自贡市| 开江县| 新津县| 博罗县| 确山县| 邵东县| 新昌县| 密云县| 保德县| 泸水县| 高州市| 启东市| 自治县| 松溪县|