seek
位于 base
包(package)。 说明
重新定位连接的函数。
用法
seek(con, ...)
## S3 method for class 'connection'
seek(con, where = NA, origin = "start", rw = "", ...)
isSeekable(con)
truncate(con, ...)
参数
con |
|
where |
数字。文件位置(相对于 |
rw |
字符串。空或 |
origin |
字符串。 |
... |
传入或传出其他方法的进一步参数。 |
细节
seek
和 where = NA
返回连接的当前字节偏移量(从头开始),并且使用非缺失的 where
参数,连接将重新定位(如果可能)到指定位置。 isSeekable
返回连接原则上是否支持 seek
:当前仅(可能是 gz-compressed)文件连接支持。
where
存储为实数,但应表示整数:非整数值可能会被截断。请注意,可能的值可能超过最大可表示数R
integer
在 64 位版本和某些 32 位版本上。
文件连接可以打开以进行写入/追加,在这种情况下R保持不同的阅读和写作位置。哪个seek
指的是可以通过其设置rw
参数:默认值是最后使用的模式(读取或写入)。大多数文件仅打开用于读取或写入,因此默认为该状态。如果一个文件以读写方式打开但尚未使用,则默认为读取位置 (0)。
读取的初始文件位置始终位于开头。对于 "r+"
和 "r+b"
模式,写入的初始位置位于文件的开头,否则位于文件的末尾。某些平台仅允许在追加模式下在文件末尾写入。 (以追加模式打开的文件的报告写入位置通常不可靠,直到文件被写入为止。)
gzfile
连接支持 seek
,但有许多限制,使用未压缩文件的文件位置。他们不支持origin = "end"
。写入时,只能向前查找:读取时,通过倒带文件并从头开始重新读取来支持向后查找。
如果使用 where
的非 NA
值调用 seek
,则文本模式连接上的任何推送都会被丢弃。
truncate
截断在当前位置打开以进行写入的文件。它仅适用于 file
连接,并且并未在所有平台上实现:在其他平台(包括 Windows)上,它不适用于大型(> 2Gb)文件。
这些都不应该在选择重新编码的文本模式连接上工作。
值
seek
返回当前位置(在任何移动之前),作为距原点的(数字)字节偏移量(如果相关),或者0
如果不。请注意,该位置可能超过一个中的最大可表示数字R integer
在 64 位版本和某些 32 位版本上。
truncate
返回 NULL
:如果失败(或未实现),它将停止并出现错误。
isSeekable
返回一个逻辑值,连接是否支持 seek
。
警告
用于seek
在 Windows 上不鼓励这样做。我们在 Windows 实现文件定位中发现了如此多的错误,建议用户自行承担风险,并要求用户不要浪费时间R开发人员花时间处理有关 Windows 缺陷的错误报告。
也可以看看
相关用法
- R seq.Date 生成规则的日期序列
- R search 给出 R 对象的搜索路径
- R sequence 创建序列向量
- R serialize 简单的序列化接口
- R setTimeLimit 设置 CPU 和/或运行时间限制
- R seq 序列生成
- R seq.POSIXt 生成规则的时间序列
- R sets 设置操作
- R strsplit 分割字符向量的元素
- R solve 求解方程组
- R scan 读取数据值
- R sprintf 使用 C 风格字符串格式化命令
- R stop 停止函数执行
- R sign 标志函数
- R svd 矩阵的奇异值分解
- R strtoi 将字符串转换为整数
- R source 从文件、连接或表达式中读取 R 代码
- R sQuote 引用文字
- R switch 选择替代方案列表之一
- R substitute 替换和引用表达式
- R strrep 重复字符向量的元素
- R split 分组并重新集合
- R slice.index 数组中的切片索引
- R sort 对向量进行排序或排序
- R standardGeneric 形式化方法系统 – 调度 S4 方法
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Functions to Reposition Connections。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。