如何在 Rust 中读取和写入文件

如何在 Rust 中读取和写入文件,知道如何读写文件对各种用途都很有用。在 Rust 中,这项任务是通过标准库中的文件系统模块(​​std::fs​​)完成的。在这篇文章中,我将向你介绍如何使用这个模块。,为了演示这项任务,我准备了一些示例代码,也可以在 ​​GitHub​​ 上找到。,在使用 Rust 时,失败的函数会返回 ​​Result​​ 类型。尤其是文件系统模块会返回专门的类型 ​​std::io::Result<T, Error>​​。有了这些知识,你可以从 ​​main()​​ 函数中返回相同的类型:,在 Rust 中执行文件的 I/O 操作是相对容易的。写入文件可以简化为一行:,使用错误传播操作符 ​​(?)​​,错误信息被传递到调用函数中,随后可以处理错误。由于 ​​main()​​ 是调用栈中唯一的其他函数,如果写操作失败,错误信息将被传递到控制台输出。,​​fs::write​​ 函数的语法是非常先进的。第一个参数是文件路径,它必须是 ​​std::path::Path​​ 类型。第二个参数是内容,它实际上是一个字节切片(​​[u8]​​)。Rust 将传递的参数转换为正确的类型。幸运的是,这些类型基本上是下面的例子中所处理的唯一类型。,使用文件描述符类型 ​​std::fs::File​​ 可以实现对写操作更简洁的访问:,由于文件类型实现了 ​​Write​​ 特性,所以可以使用相关的方法来写入文件。然而,​​create​​ 方法可以覆盖一个已经存在的文件。,为了获得对文件描述符的更多控制,必须使用 ​​std::fs::OpenOptions​​ 类型。这提供了类似于其他语言中的打开模式:,适用于写的东西也适用于读。读取也可以通过简单的一行代码来完成:,以上一行读取文件的内容并返回一个字符串。除了读取字符串,还有 ​​std::fs::read​​ 函数,如果文件包含二进制数据,该函数会将数据读成一个字节向量。,下一个例子显示了如何将文件的内容读入内存,随后逐行打印到控制台:,如果你已经熟悉了其他编程语言,你可能已经注意到没有 ​​close-​​ 函数(或类似的)来释放文件句柄。在 Rust 中,当相关变量超出作用域,文件句柄就会被释放。为了定义关闭行为,可以在文件表示的周围应用作用域 ​​({ })​​。我建议你熟悉 ​​Read​​ 和 ​​Write​​ 特性,因为你可以在许多其他类型中找到这个特性的实现。

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/18529.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月5日 上午12:00
下一篇 2023年3月7日 下午10:34