- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个很大的 gzip
文件,我想使用 seek
只读取其中的一部分。关于在gzip
文件上使用seek
,这个page说:
The seek() position is relative to the uncompressed data, so the caller does not even need to know that the data file is compressed.
这是否意味着seek
必须从文件开头读取数据并解压到目标位置?
最佳答案
是的。 This is the code :
elif self.mode == READ:
if offset < self.offset:
# for negative seek, rewind and do positive seek
self.rewind()
count = offset - self.offset
for i in range(count // 1024):
self.read(1024)
self.read(count % 1024)
Alternatives are discussed here.该问题是 gzip
格式固有的。
关于python - 关于在 gzip 文件上使用 seek,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985645/
如果我们查看 istream 和 ostream 的文档,我们有以下功能: istream& seekg ( streampos pos ); istream& seekg ( streamoff o
如果我想实现 seek() 来完成 SeekableIterator 接口(interface),如果搜索的位置无效,我是否应该在内部恢复到旧位置?像这样: public function seek(
python documentation说: In text files (those opened without a b in the mode string), only seeks relat
我正在编写一个 c++ 方法,需要更新打开文件 (ofstream) 中的一些字符。 该方法获取一个映射作为输入,其中键是一个偏移量(文件中的位置),值是一个字符。 代码示例 typedef map
我注意到,当我做这样的事情时: with open('testfile', 'wb') as fl: fl.seek(2048*512) fl.write(b'aaaaa') 无论我的
我正在开发一个 android 应用程序,我想在状态栏中添加音量控制。我可以在状态栏中添加一个搜索栏吗? 我使用过 NotificationManager,我发现在通知栏中添加动画很困难。 但是任何人
我注意到,当我做这样的事情时: with open('testfile', 'wb') as fl: fl.seek(2048*512) fl.write(b'aaaaa') 无论我的
Python seek()函数:设定读写位置 可以使用 seek() 函数调整当前读写文件的位置。例如,我们从文件头部读取了 1000 个字节,处理这 1000 个字节后发现还有一个很重要的信息在文件
我在 Delphi 2006 中使用 TFileStream。当我使用超出范围的偏移量调用 TFileStream.Seek 时,我得到不同的返回值。当我寻找低于流开头的位置时,该函数返回 -1,如果
我们刚刚在 Delphi 2007 中遇到了 TFileStream.Seek 的一种特殊行为(实际上该方法是从 THandleStream 继承的): 您可以在没有错误的情况下查找文件末尾之外的内容
这是取自 https://forums.embarcadero.com/message.jspa?messageID=219481 的代码片段 if FileExists(dstFile) then
我有一个电子表格,其中包含大量输入,但只有一个输出(价格)。 我想让 Excel 自动更新其中一个输入(称为输入 1),以便在调整其他输入的同时保持价格不变。 我知道“目标搜索”可以做到这一点,但我不
根据 API ,这些是事实: seek(long bytePosition)方法简单来说就是将指针移动到用 bytePosition 指定的位置参数。 当 bytePosition大于文件长度,则文件
我们正在使用 StreamingKit (https://github.com/tumtumtum/StreamingKit) 从流式 m4a 音频源列表中播放,用户可以在这些音频源之间自由来回移动。
我有一个程序可以替换文件中的内容。但是却导致了IO异常,我不知道我哪里逻辑错了? 代码如下: import java.io.File; import java.io.RandomAccessFile;
我想从Excel中导出数据 我尝试下面的代码 def exel_all_attendance(request,course_id): all_submit_attendance = Submi
我正在尝试使用 FileStream。寻求快速跳转到一行并阅读它。 但是,我没有得到正确的结果。我试图看这个有一段时间了,但不明白我做错了什么。 环境: 操作系统:Windows 7 架构:.NET
我正在处理大文件,从 10Gb 开始。我正在将文件的各个部分加载到内存中进行处理。以下代码适用于较小的文件 (700Mb) byte[] byteArr = new byte[layerPixelC
我有一个 for 循环,它被设计为接受一个目标数字,并循环遍历堆栈,直到它在堆栈 [target] 中找到数据并且它应该返回该数据。 不幸的是,我只能让它返回它所在的数组的位置或一串随机数字(随着我的
我创建了一个包含以下条目的文件,由 file.read() 返回 'abcd\nefgh\n1234\nijkl\n5678\n\nend' 我现在打开要阅读的文件,使用“f”作为处理程序。f.rea
我是一名优秀的程序员,十分优秀!