نحوه خواندن و نوشتن از فایل های متنی در Rust را بیاموزید.
عملکرد بالای Rust و ایمنی حافظه، همراه با پشتیبانی از عبارات منظم و عملیات ورودی/خروجی فایل کارآمد، امکان پردازش متن و داده قانع کننده را فراهم می کند و Rust را به زبانی عالی برای کار با فایل های متنی تبدیل می کند.
فایل های متنی یک منبع داده مشترک برای برنامه ها هستند و Rust مجموعه ای قوی از ابزارها را برای کار با فایل های متنی در کتابخانه استاندارد فراهم می کند.
کار با فایل های متنی در Rust
کتابخانه استاندارد Rust ماژول های مختلفی را برای خواندن، نوشتن و دستکاری فایل ها از جمله فایل های متنی فراهم می کند.
کار با فایلهای متنی در Rust شامل خواندن دادهها از یک فایل، استفاده از دادههای موجود در حافظه و سپس نوشتن دادههای اصلاحشده در فایل است.
Rust ماژول fs داخلی را برای کار با فایل ها و سیستم فایل فراهم می کند. ماژول fs توابع و انواعی را ارائه می دهد که می توانید از آنها برای باز کردن، خواندن، نوشتن و دستکاری فایل ها و دایرکتوری ها، از جمله فایل های متنی استفاده کنید.
توابع محبوب در ماژول fs عبارتند از: تابع fs::File::open برای باز کردن فایلها برای عملیات خواندن، fs::File::create برای ایجاد فایلها و تابع fs::write برای نوشتن دادهها در فایلها.
ماژول fs همچنین توابعی مانند تابع fs::remove_file برای حذف فایل ها، تابع fs::create_dir برای ایجاد دایرکتوری ها و تابع fs::read_dir برای خواندن فایل ها در دایرکتوری ارائه می کند.
ماژول fs همه کاره است و شما می توانید از ماژول fs برای کار با اکثر انواع فایل از جمله فایل های متنی استفاده کنید.
خواندن فایل های متنی در Rust
برای خواندن فایل باید یک فایل متنی باز کنید. شما از تابع fs::File::open برای باز کردن فایل قبل از عملیات خواندن استفاده خواهید کرد.
این دستورات را اجرا کنید تا یک فایل متنی ایجاد کنید و از خط فرمان خود یک جمله در فایل بنویسید.
touch input.txt
echo "We're tech enthusiasts on a mission to teach the world how to use and understand the tech in their lives. Phones, laptops, gadgets, apps, software, websites, services---if it can make your life better, we'll show you all the tips, tricks, and techniques you need to know to get the most out of what you have." > input.txt
اکنون که یک فایل متنی موجود با محتویات عملیات خواندن دارید، می توانید کد Rust را برای خواندن محتویات فایل بنویسید.
در اینجا نحوه خواندن از فایل input.txt آمده است:
use std::fs::File;
use std::io::{BufRead, BufReader};
fn main() -> std::io::Result<()> {
// Open the file for reading
let file = File::open("input.txt")?;
// Create a buffered reader to read the file
let reader = BufReader::new(file);
// Read the file line by line
for line in reader.lines() {
println!("{}", line?);
}
Ok(())
}
تابع main نتیجه عملیات را برمی گرداند. متغیر فایل نمونه فایل باز است که تابع جدید ماژول BufRead برای ایجاد یک خواننده بافر برای خواندن فایل استفاده می کند.
ساختار کنترل حلقه for از فایل عبور می کند و هر خط را از فایل به کنسول با println چاپ می کند! کلان.
نوشتن روی فایل های متنی در Rust
برای نوشتن در یک فایل متنی باید یک فایل جدید با تابع fs::File::create ایجاد کنید (اگر فایل وجود ندارد).
در اینجا نحوه ایجاد و نوشتن فایل های متنی در Rust آمده است:
use std::fs::File;
use std::io::{BufWriter, Write};
fn main() -> std::io::Result<()> {
// Create a new file for writing
let file = File::create("output.txt")?;
// Create a buffered writer to write to the file
let mut writer = BufWriter::new(file);
// Write some data to the file
writer.write_all(b"Hello, world!\n")?;
writer.write_all(b"Rust is awesome.\n")?;
// Flush the writer to ensure all data is written to disk
writer.flush()?;
println!("Write Operation Successful");
Ok(())
}
متغیر فایل نمونه ای از فایل output.txt ایجاد شده است و متغیر writer یک نمونه رایتر بافر برای نوشتن در فایل است.
تابع write_all داده ها را در فایل می نویسد و تابع flush رایتر را شستشو می دهد.
در اینجا نتیجه اجرای تابع اصلی است:
شما می توانید از فایل های متنی برای چندین عملیات استفاده کنید
فایلهای متنی برای اهداف متعدد، از فایلهای پیکربندی گرفته تا تبادل داده، ثبتنام و پردازش متن، سبک و مفید هستند. همانطور که برنامهها را در Rust یا هر زبان برنامهنویسی دیگری مانند Go میسازید، میتوانید موارد استفاده دیگر را برای فایلهای متنی بررسی کنید تا گردش کار توسعه خود را تسهیل کنید.