日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

33.文件与 IO.rs

發布時間:2024/4/11 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 33.文件与 IO.rs 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
use std::fs; use std::fs::File; use std::fs::OpenOptions; use std::io::prelude::*; use std::io::stdin;fn main() {//Rust 中主函數是個無參函數,環境參數需要開發者通過 std::env 模塊取出let args = std::env::args();println!("{:?}", args);for arg in args {println!("{}", arg);}//std::io 模塊提供了標準輸入(可認為是命令行輸入)let mut str_buf = String::new();stdin().read_line(&mut str_buf).expect("Failed to read line.");println!("Your input line is {}", str_buf);//文本文件的讀取let text = fs::read_to_string("text.txt").unwrap();println!("{}", text);//讀取的文件是二進制文件let content = fs::read("text.txt").unwrap();println!("{:?}", content);//以上兩種方式是一次性讀取,十分適合 Web 應用的開發。但是對于一些底層程序來說,傳統的按流讀取的方式依然是無法被取代的,//因為更多情況下文件的大小可能遠超內存容量。//std::fs::File 的 open 方法是"只讀"打開文件,并且沒有配套的 close 方法,因為 Rust 編譯器可以在文件不再被使用時自動關閉文件。let mut buffer = [0u8; 5];let mut file = fs::File::open("text.txt").unwrap();file.read(&mut buffer).unwrap();println!("{:?}", buffer);file.read(&mut buffer).unwrap();println!("{:?}", buffer);//文件寫入//一次性寫入,它會直接刪除文件內容(無論文件多么大)。如果文件不存在就會創建文件。fs::write("text.txt", "FROM RUST PROGRAM").unwrap();//用流的方式寫入文件內容,可以使用 std::fs::File 的 create 方法:let mut file = File::create("text.txt").unwrap(); //打開的文件一定存放在可變的變量中才能使用 File 的方法!file.write(b"FROM RUST PROGRAM").unwrap();//File 類中不存在 append 靜態方法,但是我們可以使用 OpenOptions 來實現用特定方法打開文件:let mut file = OpenOptions::new().append(true).open("text.txt").unwrap();file.write(b" APPEND WORD").unwrap();//OpenOptions 是一個靈活的打開文件的方法,它可以設置打開權限,除append 權限以外還有 read 權限和 write 權限,如果我們想以讀寫權限打開一個文件可以這樣寫:let mut file = OpenOptions::new().read(true).write(true).open("text.txt").unwrap();file.write(b"COVER555555555").unwrap(); }

?

總結

以上是生活随笔為你收集整理的33.文件与 IO.rs的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。