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 🙂
I should have known that you would be covering something I needed to learn about in Rust. Thank you for all your hard work. You continue to help me learn and understand Rust, whenever I get stuck or need help. I am currently in my final project on a course on one of the learning platforms. I needed a little more than the docs to get the subject cemented into my consciousness . Your video was just what I was looking for. It relieved my fear and frustration in my path. Thank you. Keep it up.
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 :)
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 ❤
@@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.
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); }
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
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.
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.
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.
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 🙂
I should have known that you would be covering something I needed to learn about in Rust. Thank you for all your hard work. You continue to help me learn and understand Rust, whenever I get stuck or need help. I am currently in my final project on a course on one of the learning platforms. I needed a little more than the docs to get the subject cemented into my consciousness . Your video was just what I was looking for. It relieved my fear and frustration in my path. Thank you. Keep it up.
@@scottb4029 That's great, Scott! Thanks so much for sharing your experience in your course. I hope you're enjoying writing Rust code! 🦀
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 ❤
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.
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!
the quality of your content is really great, apreciate it bro
Your videos are so thorough I really enjoy that about your content!
Loving this channel bro. The geek vibes are off the charts and it’s beautiful. And super educational!!
very exciting video, I really appreciate your videos man, thank you alot
THANKS for your videos
Thank you mann
loving this channel
thanks for the video! I enjoyed it!
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
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
35:00
String::from_utf8(read_result.unwrap())
u are the hero
thank you for the great contents
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.
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
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 :)
Thank you.
great!
Love from India ❤❤❤
perfect an hour on 0.75 playback speed
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! 😊❤️🦀