Java RandomAccessFile从开始截断

我知道如何截断RandomAccess文件,以便删除末尾的字节.

raf.getChannel().truncate(file.length() - 4);

要么

raf.setLength(file.length() - 4);

但是如何以一种开头的字节被删除的方式截断RandomAccessFile?我不需要将此文件的内容写入新文件.我用Google搜索,无法找到答案.请帮忙.提前致谢.

解决方法:

这不是大多数文件系统支持的操作.该模型是从光盘上特定位置开始的字节序列.文件是可变长度的并且可以附加,因此从那里截断相对容易.

因此,您实际上需要复制文件中的所有字节.如果可能的话可以避免.管理队列文件(例如日志)的一种技术是拥有一系列文件,然后定期启动一个新文件,然后放弃一个文件.

上一篇:Java中的锁


下一篇:MySQL 学习笔记 - 事务 & 锁