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了呢?
f.pos = pos#获取的起始位置
这样的写法不是获取起始位置,而是指定读取位置了。 就是在这个地方开始读啊 手上只有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]