首页 > 解决方案 > 如何在 Julia 中读取(二进制)文件的最后 x 个字节?

问题描述

我正在学习 Julia,我正在尝试读取二进制文件的最后 128 个字节,而不是读取所有文件。我想我应该以某种方式从末尾寻找 128 个字节,然后从那里读取。

找到seek功能,但它只允许我使用文件开头的偏移量。有seekend转到文件末尾的功能,但不是x之前的字节。还有skip,但是,同样,它只允许前进。

我害怕使用skip(f, size_of_my_file - 128)在大文件上使用会读取size_of_my_file - 128字节而不是跳转到那个位置。

标签: julia

解决方案


找到它:seek到文件末尾,并“跳过”-128字节:

content = open(filename) do f
  seekend(f)
  skip(f, -128)
  read(f, String) 
end

(感谢@mbauman的负面skip把戏!)


推荐阅读