当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Seek.stream_len用法及代码示例


本文简要介绍rust语言中 std::io::Seek.stream_len 的用法。

用法

fn stream_len(&mut self) -> Result<u64>

返回此流的长度(以字节为单位)。

此方法使用最多三个查找操作来实现。如果该方法返回成功,则seek位置不变(即调用该方法前的位置与调用后的位置相同)。但是,如果此方法返回错误,则未指定查找位置。

如果您需要获取长度许多流并且您不关心之后的查找位置,您可以通过简单地调用来减少查找操作的数量seek(SeekFrom::End(0))并使用它的返回值(它也是流长度)。

请注意,流的长度可能会随时间而变化(例如,将数据附加到文件时)。所以多次调用这个方法不一定每次都返回相同的长度。

示例

#![feature(seek_stream_len)]
use std::{
    io::{self, Seek},
    fs::File,
};

fn main() -> io::Result<()> {
    let mut f = File::open("foo.txt")?;

    let len = f.stream_len()?;
    println!("The file is currently {} bytes long", len);
    Ok(())
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::io::Seek.stream_len。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。