למד כיצד לקרוא ולכתוב קבצי טקסט ב- Rust.

הביצועים הגבוהים של Rust ובטיחות הזיכרון, בשילוב עם תמיכה בביטויים רגולריים ו-I/O יעיל של קבצים פעולות, מאפשרות עיבוד טקסט ונתונים משכנע, מה שהופך את Rust לשפה מצוינת לעבודה עם טקסט קבצים.

קובצי טקסט הם מקור נתונים משותף ליישומים, ו-Rust מספקת קבוצה חזקה של כלים לעבודה עם קבצי טקסט בספרייה הסטנדרטית.

עבודה עם קבצי טקסט בחלודה

הספרייה הסטנדרטית של Rust מספקת מספר מודולים לקריאה, כתיבה וטיפול בקבצים, כולל קבצי טקסט.

עבודה עם קבצי טקסט ב-Rust כוללת קריאת נתונים מקובץ, שימוש בנתונים בזיכרון ולאחר מכן כתיבת הנתונים שהשתנו בחזרה לקובץ.

חלודה מספקת את המובנה fs מודול לעבודה עם קבצים ומערכת הקבצים. ה fs מודול מספק פונקציות וסוגים שבהם אתה יכול להשתמש כדי לפתוח, לקרוא, לכתוב ולתפעל קבצים וספריות, כולל קבצי טקסט.

פונקציות פופולריות ב- fs מודול כולל את fs:: קובץ:: פתוח פונקציה לפתיחת קבצים לפעולות קריאה, ה fs:: קובץ:: ליצור ליצירת קבצים, וה fs:: לכתוב פונקציה לכתיבת נתונים לקבצים.

ה fs מודול מספק גם פונקציות כמו fs:: remove_file פונקציה למחיקת קבצים, ה fs:: create_dir פונקציה ליצירת ספריות, ואת fs:: read_dir פונקציה לקריאת קבצים בספריה.

instagram viewer

ה fs המודול הוא תכליתי, ואתה יכול להשתמש ב fs מודול לעבוד עם רוב סוגי הקבצים, כולל קבצי טקסט.

קריאת קבצי טקסט בחלודה

אתה צריך לפתוח קובץ טקסט כדי לקרוא את הקובץ. אתה תשתמש ב- fs:: קובץ:: פתוח פונקציה לפתיחת הקובץ לפני פעולת הקריאה.

הפעל את הפקודות הללו כדי ליצור קובץ טקסט ולכתוב ממנו משפט לקובץ שורת הפקודה שלך.

גע ב-input.txt

echo "אנחנו חובבי טכנולוגיה במשימה ללמד את העולם כיצד להשתמש ולהבין את הטכנולוגיה בחייהם. טלפונים, מחשבים ניידים, גאדג'טים, אפליקציות, תוכנות, אתרים, שירותים אם זה יכול לשפר את החיים שלך, אנחנו נראה אתה כל הטיפים, הטריקים והטכניקות שאתה צריך לדעת כדי להפיק את המרב ממה שיש לך." > input.txt

כעת, כשיש לך קובץ טקסט קיים עם תוכן לפעולת הקריאה, תוכל לכתוב קוד Rust כדי לקרוא את תוכן הקובץ.

הנה איך אתה יכול לקרוא מתוך input.txt קוֹבֶץ:

להשתמש std:: fs:: קובץ;
להשתמש std:: io::{BufRead, BufReader};

fnרָאשִׁי() -> std:: io::תוֹצָאָה {
// פתח את הקובץ לקריאה
לתת file = File:: open("input.txt")?;

// צור קורא מאוחסן כדי לקרוא את הקובץ
לתת reader = BufReader:: חדש (קובץ);

// קרא את הקובץ שורה אחר שורה
ל קַו ב reader.lines() {
println!("{}", שורה?);
}

בסדר(())
}

ה רָאשִׁי הפונקציה מחזירה את תוצאת הפעולה. ה קוֹבֶץ משתנה הוא מופע הקובץ הפתוח שה- חָדָשׁ פונקציה של BufRead מודול משתלב כדי ליצור קורא מאוחסן לקריאת הקובץ.

מבנה בקרת הלולאה עובר דרך הקובץ ומדפיס כל שורה מהקובץ לקונסולה עם ה- println! מאקרו.

כתיבה לקבצי טקסט בחלודה

תצטרך ליצור קובץ חדש עם ה fs:: קובץ:: ליצור פונקציה (אם הקובץ לא קיים) כדי לכתוב לקובץ טקסט.

כך תוכל ליצור ולכתוב קבצי טקסט ב- Rust:

להשתמש std:: fs:: קובץ;
להשתמש std:: io::{BufWriter, Write};

fnרָאשִׁי() -> std:: io::תוֹצָאָה {
// צור קובץ חדש לכתיבה
לתת file = File:: create("output.txt")?;

// צור כותב מאוחסן כדי לכתוב לקובץ
לתתמוט writer = BufWriter:: חדש (קובץ);

// כתוב כמה נתונים לקובץ
writer.write_all(b"שלום עולם!\n")?;
writer.write_all(b"חלודה זה מדהים.\n")?;

// שטף את הכותב כדי לוודא שכל הנתונים נכתבים לדיסק
writer.flush()?;

println!("הכתיבה של מבצע מוצלח");
בסדר(())
}

ה קוֹבֶץ משתנה הוא מופע של היצירה שנוצרה output.txt קובץ, ואת סוֹפֵר משתנה הוא מופע כותב מאוחסן לכתיבה לקובץ.

ה לכתוב_הכל הפונקציה כותבת נתונים לקובץ, וה- סומק הפונקציה שוטפת את הסופר.

להלן התוצאה מהפעלת הפונקציה הראשית:

אתה יכול להשתמש בקובצי טקסט עבור מספר פעולות

קבצי טקסט הם קלים ונוחים למטרות מרובות, החל מקובצי תצורה ועד חילופי נתונים, רישום ועיבוד טקסט. בזמן שאתה בונה יישומים ב-Rust או בכל שפת תכנות אחרת כמו Go, אתה יכול לחקור מקרי שימוש אחרים עבור קבצי טקסט כדי להקל על זרימות העבודה שלך בפיתוח.