国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:111日期: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
主站蜘蛛池模板: 丘北县| 将乐县| 青神县| 黄山市| 汶上县| 开化县| 永顺县| 玉树县| 江山市| 东方市| 英超| 新干县| 云梦县| 罗定市| 两当县| 迁西县| 文水县| 吴忠市| 治多县| 富锦市| 克什克腾旗| 武威市| 堆龙德庆县| 彭山县| 平乡县| 合川市| 沭阳县| 禄丰县| 静安区| 海林市| 济南市| 教育| 大名县| 宝丰县| 大田县| 太仆寺旗| 三河市| 永昌县| 武鸣县| 武山县| 永寿县|