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

ความคิดเห็น • 40

  • @tomaszsosinski5935
    @tomaszsosinski5935 ปีที่แล้ว +18

    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.

    • @TrevorSullivan
      @TrevorSullivan  ปีที่แล้ว +5

      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 🙂

  • @muxxxe
    @muxxxe 20 ชั่วโมงที่ผ่านมา

    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!

    • @TrevorSullivan
      @TrevorSullivan  19 ชั่วโมงที่ผ่านมา

      @@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.

  • @Gruby7C1h
    @Gruby7C1h ปีที่แล้ว +4

    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 :)

    • @ojoawojoshua780
      @ojoawojoshua780 23 ชั่วโมงที่ผ่านมา

      I thought I was the only one, it captures the error as well, thank you Trevor

  • @judevector
    @judevector 7 ชั่วโมงที่ผ่านมา

    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 ❤

  • @marlonsbardelatti202
    @marlonsbardelatti202 ปีที่แล้ว +1

    the quality of your content is really great, apreciate it bro

  • @emnul8583
    @emnul8583 3 หลายเดือนก่อน

    Your videos are so thorough I really enjoy that about your content!

  • @ojoawojoshua780
    @ojoawojoshua780 22 ชั่วโมงที่ผ่านมา

    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);
    }

    • @TrevorSullivan
      @TrevorSullivan  22 ชั่วโมงที่ผ่านมา

      @@ojoawojoshua780 thanks for pointing that out!

  • @JOHNSMITH-ve3rq
    @JOHNSMITH-ve3rq ปีที่แล้ว +2

    Loving this channel bro. The geek vibes are off the charts and it’s beautiful. And super educational!!

  • @jasperzanjani
    @jasperzanjani 3 หลายเดือนก่อน

    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

    • @TrevorSullivan
      @TrevorSullivan  3 หลายเดือนก่อน

      @@jasperzanjani yeah, match makes sense but I always get tripped up by if.. let, even after a year

  • @AhmedFalih-kj3tt
    @AhmedFalih-kj3tt ปีที่แล้ว +1

    very exciting video, I really appreciate your videos man, thank you alot

  • @daniil2704
    @daniil2704 11 หลายเดือนก่อน

    35:00
    String::from_utf8(read_result.unwrap())

  • @deverse
    @deverse ปีที่แล้ว

    loving this channel

  • @RichardWalterLanda
    @RichardWalterLanda 4 หลายเดือนก่อน

    THANKS for your videos

  • @fedenfer
    @fedenfer ปีที่แล้ว +1

    Hello brother, greetings from Argentina, are you managing infrastructure with rust? Or do you prefer other languages, such as python or golang?

    • @TrevorSullivan
      @TrevorSullivan  ปีที่แล้ว +1

      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.

  • @NSA.
    @NSA. 2 หลายเดือนก่อน

    Thank you mann

  • @nicolaswolyniec1354
    @nicolaswolyniec1354 ปีที่แล้ว

    thanks for the video! I enjoyed it!

  • @kafuu1
    @kafuu1 5 หลายเดือนก่อน

    u are the hero

  • @world-9644
    @world-9644 2 หลายเดือนก่อน

    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.

    • @le0nz
      @le0nz หลายเดือนก่อน +1

      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

  • @nhwhn
    @nhwhn 8 หลายเดือนก่อน

    thank you for the great contents

  • @pratikkulkarni891
    @pratikkulkarni891 ปีที่แล้ว

    Thank you.

  • @maylay3775
    @maylay3775 ปีที่แล้ว +1

    perfect an hour on 0.75 playback speed

  • @736939
    @736939 7 หลายเดือนก่อน

    But how to read and write binary files like in python with pickle? For example, if İ want to save an object data.

    • @TrevorSullivan
      @TrevorSullivan  7 หลายเดือนก่อน +1

      That's a great question! Great idea for another video

    • @736939
      @736939 7 หลายเดือนก่อน

      @@TrevorSullivan Thank you, it would be the great tutorial :)

  • @ibrahimyıldız-i3q
    @ibrahimyıldız-i3q 5 หลายเดือนก่อน

    great!

  • @crissdell
    @crissdell 2 หลายเดือนก่อน

    Why does use ? At the end of the lines?

    • @TrevorSullivan
      @TrevorSullivan  2 หลายเดือนก่อน

      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.

    • @TrevorSullivan
      @TrevorSullivan  2 หลายเดือนก่อน

      doc.rust-lang.org/rust-by-example/std/result/question_mark.html

  • @piyushpatil6874
    @piyushpatil6874 7 หลายเดือนก่อน +1

    Love from India ❤❤❤

  • @aryabp
    @aryabp ปีที่แล้ว +5

    please integrate with actix and make google drive clone

  • @kotazkozla253
    @kotazkozla253 หลายเดือนก่อน

    yapper

  • @ChidleyITCompute
    @ChidleyITCompute 8 หลายเดือนก่อน

    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.

    • @TrevorSullivan
      @TrevorSullivan  8 หลายเดือนก่อน

      Thanks so much for your kind comment! 😊❤️🦀