Beginner's Guide to Rust Filesystem APIs 🦀 Rust Tutorial
ฝัง
- เผยแพร่เมื่อ 20 พ.ย. 2024
- One of the most common operations you'll need, as a Rust developer, is the ability to read and write to the local filesystem. The standard library in Rust provides the essential functions to create / remove / rename directories, create / read / write / delete files, create symlinks, validate filesystem paths, and more. Let's dive into some of the core filesystem functionality provided by Rust!
🤯 Rust Programming Playlist 🦀 • Rust Programming Tutor...
📖 Rust std::fs docs ➡️ doc.rust-lang....
Visual Studio Code ➡️ code.visualstu...
Rust Website ➡️ rust-lang.org
Rustup Installer ➡️ rustup.rs
Rust Docs ➡️ doc.rust-lang....
Please follow me on these other social channels!
➡️ trevorsullivan...
➡️ github.com/pcg...
➡️ / pcgeek86
➡️ / trevorsullivan
➡️ / trevorsoftware
➡️ tiktok.com/pcg...
All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names,trademarks and brands does not imply endorsement.
#rustlang #rust #rustdev #opensource #software #linux #devops #programming #rusty #dev #coding #codinglife #code #coder #ubuntu #ubuntulinux #appdev #developer
Hi Trevor, thank you for creating this content. I would like to make one comment about the video. I believe reading raw bytes from file and converting them to chars and string via fold on iterator might be a bit daunting to some viewers. I see the value in it as it shows low level mechanism, however, I would add another minute or two to video to show `std::fs::read_to_string` function that does conversion of bytes to String behind the scenes.
I also think that the video on `std::fs::File` should contain examples on using `std::io::BufReader` to read contents of file to a Vec.
Hello Tomas, that's a good idea! Thank you for taking the time to write out your thoughts. I agree that reading raw bytes from a file can be daunting for someone who's new to programming. Cheers 🙂
Great video Trevor! I'll be bingeing your channel for the next few months :). Im working towards rust mastery and I love the way you teach! Thank you!
@@muxxxe thanks so much!!! I appreciate your support. I would love to create some new content, although I work full-time and have some pretty severe chronic health problems that limit me from doing so.
Small correction for part around 24:07 -> the std::fs::write does return useful info (try to create a file in unexisting directory for example). You only see unit as a result because here the result is actually std::io::Result which always has std::io::Error as Err value. Nice channel btw :)
I thought I was the only one, it captures the error as well, thank you Trevor
This is really nice , I really learnt and loved how you broke down the reading of file. While going through this video i noticed that using the read method it doesn't read emojis . I also learnt there is also a read_to_string method in the rust documentation
Regardless this is a great video, thanks. I am unto the next one in the playlist ❤
the quality of your content is really great, apreciate it bro
Your videos are so thorough I really enjoy that about your content!
This is nice Trevor, but instead of going through the hassle of iterating and creating a closure, there is a method call "read_to_string" on the fs module fs::read_to_string, which does the conversion, so we can have :
pub fn test_read_file() {
let file_path = "./data/test.txt";
let content = fs::read_to_string(file_path).unwrap();
println!("File content: {:?}", content);
}
@@ojoawojoshua780 thanks for pointing that out!
Loving this channel bro. The geek vibes are off the charts and it’s beautiful. And super educational!!
I was about to say you should have used an if let or even a match statement but I guess it's kind of clever avoiding that syntax for the sake of beginners
@@jasperzanjani yeah, match makes sense but I always get tripped up by if.. let, even after a year
very exciting video, I really appreciate your videos man, thank you alot
35:00
String::from_utf8(read_result.unwrap())
loving this channel
THANKS for your videos
Hello brother, greetings from Argentina, are you managing infrastructure with rust? Or do you prefer other languages, such as python or golang?
Hello! Thanks for your question. I am not currently using Rust to manage infrastructure, but I think it would be an excellent language to use for that purpose! If you are wanting to use something "off the shelf," then Salt, Ansible, and existing tooling might be your best bet though.
Thank you mann
thanks for the video! I enjoyed it!
u are the hero
Can someone help me? I made a simple rust program that reads a json file and prints the contents. Cargo run works totally fine, but when I run the executable, it says it cannot find the json file, even when it’s in the same directory. I want to be able to make a change to the file, run the executable, and see those changes, so I need the JSON to be separate from the bundled exe. How do I do this? Can’t find any answers online.
Don't use relative paths, a easy way to debug is print the root of your dir so you see it's not the same as the root of the cargo project
thank you for the great contents
Thank you.
perfect an hour on 0.75 playback speed
But how to read and write binary files like in python with pickle? For example, if İ want to save an object data.
That's a great question! Great idea for another video
@@TrevorSullivan Thank you, it would be the great tutorial :)
great!
Why does use ? At the end of the lines?
In cases where a Result is returned by a function call, the ? will unwrap the result or surface the Error up to the caller. This requires that the function has the Result type as a return value though.
I'm sure the documentation covers this better than I can in a comment, so I'd read more about it there.
doc.rust-lang.org/rust-by-example/std/result/question_mark.html
Love from India ❤❤❤
please integrate with actix and make google drive clone
yapper
This is very helpful. Thankfully rust handles utf8. I learned a lot from this (and your other) video: that's my goal and you're delivering it.
Thanks so much for your kind comment! 😊❤️🦀