Java分区文件(不读取整个文件)(split命令)

Java分区文件(不读取整个文件)(split命令),java,unix,Java,Unix,我正在尝试使用Java划分一个大文件。有没有一种方法可以在不读取整个文件的情况下分割文件并创建较小的块?我可以计算文件中应该拆分的点 有人知道split命令(unix)是如何实现的吗 您需要,它可以按字节读取文件,所以您可以进行流式处理 虽然RandomAccessFile非常容易使用,但对于大文件来说,它的速度非常慢。原因是,每次读取数据时,它都需要与磁盘交互,这将产生大量数据拷贝 如果需要加速,可以使用MappedByteBuffer和FileChannel作为替代方法。我认为如果不至少读取

我正在尝试使用Java划分一个大文件。有没有一种方法可以在不读取整个文件的情况下分割文件并创建较小的块?我可以计算文件中应该拆分的点

有人知道split命令(unix)是如何实现的吗

您需要,它可以按字节读取文件,所以您可以进行流式处理

虽然RandomAccessFile非常容易使用,但对于大文件来说,它的速度非常慢。原因是,每次读取数据时,它都需要与磁盘交互,这将产生大量数据拷贝


如果需要加速,可以使用
MappedByteBuffer
FileChannel
作为替代方法。

我认为如果不至少读取文件中的每一行,就不可能这样做。请参阅@reto发布的链接以获得一个好的解决方案。@SamTebbs33是的,我知道读取整个文件的解决方案,这正是我试图避免的。有人知道split命令是否读取整个文件来分割它吗?