secondsen 发表于 2009-11-14 17:08:22

ruby File.read还有什么限制么?

RT.。。。

怎么
f = File.open("xxx","r")
f.pos = pos#获取的起始位置
str = f.read.clone#length 是这要读取的长度

就这样。。。

print str
当 index > 1326 时都是 nil了长度length 是 1693还没超过长度啊。。。。怎么就是nil了

File.open ("xxx")这个文件 690M。。。文件读取的起始位置是 0x5DD刚开始读呢。。。

我用winhex打开文件

pos:1326+0x5DD -> 10->这个读到了,后面都变成nil了
         1327+0x5DD -> 1A
         1328+0x5DD -> 69


为什么我写的这段就变成nil了呢?

shawind 发表于 2009-11-14 19:47:27


f.pos = pos#获取的起始位置

这样的写法不是获取起始位置,而是指定读取位置了。

secondsen 发表于 2009-11-14 19:56:07

就是在这个地方开始读啊

shawind 发表于 2009-11-15 14:27:56

手上只有ruby 1.9.1,这东西的api文档里的read好像没这样的用法。我试着直接用f.read.clone 这写法。ruby.exe直接就挂掉了。
read(]) => string, buffer, or nil

f = File.new("testfile")
f.read(16)   #从pos往后读16个bytes的长度


1.8系列的我没装,不太清楚,你等ruby高手来吧。
页: [1]
查看完整版本: ruby File.read还有什么限制么?