當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。