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