当前位置: 首页 > news >正文

如何建免费的企业网站互联网保险销售行为可回溯管理

如何建免费的企业网站,互联网保险销售行为可回溯管理,沈阳整站优化,网络设计课程系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

系列文章目录

【跟小嘉学 Rust 编程】一、Rust 编程基础
【跟小嘉学 Rust 编程】二、Rust 包管理工具使用
【跟小嘉学 Rust 编程】三、Rust 的基本程序概念
【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念
【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据
【跟小嘉学 Rust 编程】六、枚举和模式匹配
【跟小嘉学 Rust 编程】七、使用包(Packages)、单元包(Crates)和模块(Module)来管理项目
【跟小嘉学 Rust 编程】八、常见的集合
【跟小嘉学 Rust 编程】九、错误处理(Error Handling)
【跟小嘉学 Rust 编程】十一、编写自动化测试
【跟小嘉学 Rust 编程】十二、构建一个命令行程序
【跟小嘉学 Rust 编程】十三、函数式语言特性:迭代器和闭包
【跟小嘉学 Rust 编程】十四、关于 Cargo 和 Crates.io
【跟小嘉学 Rust 编程】十五、智能指针(Smart Point)
【跟小嘉学 Rust 编程】十六、无畏并发(Fearless Concurrency)
【跟小嘉学 Rust 编程】十七、面向对象语言特性
【跟小嘉学 Rust 编程】十八、模式匹配(Patterns and Matching)
【跟小嘉学 Rust 编程】十九、高级特性
【跟小嘉学 Rust 编程】二十、进阶扩展
【跟小嘉学 Rust 编程】二十一、网络编程
【跟小嘉学 Rust 编程】二十二、常用 API

文章目录

  • 系列文章目录
    • @[TOC](文章目录)
  • 前言
  • 一、 文件系统(FileSystem)
    • 1.1、目录操作
      • 1.1.1、创建目录
      • 1.1.2、读取目录
      • 1.1.3、删除目录
    • 1.2、文件操作
      • 1.2.1、文件拷贝
      • 1.2.2、文件读取
      • 1.2.3、删除文件
      • 1.2.4、文件重命名
      • 1.2.5、写入文件
      • 1.2.6、设置文件权限
      • 1.2.7、创建文件
  • 二、标准输入输出
    • 2.1、标准输入
    • 2.1、标准输出
  • 三、集合操作
  • 总结

前言

本章节讲解 Rust 标准库 std::fs、std::io、std::path、std::collections、std::env等常见 API。

主要教材参考 《The Rust Programming Language》
主要教材参考 《Rust For Rustaceans》
主要教材参考 《The Rustonomicon》
主要教材参考 《Rust 高级编程》


一、 文件系统(FileSystem)

std::fs 提供了 File、FileType、Metadata、OpenOptions、Permissions、ReadDir、DirEntry、DirBuilder、FileTimes等结构体。

1.1、目录操作

1.1.1、创建目录

我们使用 DirBuilder 建造器可以递归创建目录结构,该方法采用了一种链式调用方式使用

#![allow(unused)]
use std::fs::{self, DirBuilder};
fn main() {let path = "/tmp/foo/bar/baz";DirBuilder::new().recursive(true).create(path).unwrap();assert!(fs::metadata(path).unwrap().is_dir());
}

也可以使用 create_dir 和 create_dir_all 方法来创建目录

pub fn create_dir<P: AsRef<Path>>(path: P) -> Result<()>
pub fn create_dir_all<P: AsRef<Path>>(path: P) -> Result<()>

1.1.2、读取目录

我们可以使用 fs::read_dir 方法读取目录,返回的是Result<DirEntry>, DirEntry 提供了获取文件元数据信息(Metadata)和文件路径等方法。

  • 我们使用元数据信息可以获取文件的权限信息,判断文件类型,获取文件大小(len)、文件修改时间、访问时间、创建时间
  • file_type 方法可以获取文件类型,通过filetype可以判断文件是否是目录、是否是文件、是否是链接文件;
  • file_name 方法可以获取文件名称;
#![allow(unused)]
use std::fs;
use std::io;fn main() -> io::Result<()>{for entry in fs::read_dir(".")?{if let Ok(entry) = entry {if let Ok(file_type) = entry.file_type() {println!("{:?}: {:?}", entry.path(), file_type);}else {println!("Couldn't get file type for {:?}", entry.path());}if let Ok(metadata)  = entry.metadata(){println!("{:?}: {:?}", entry.path(), metadata.permissions());}else {println!("Couldn't get metadata for {:?}", entry.path());}}}Ok(())
}

1.1.3、删除目录

pub fn remove_dir<P: AsRef<Path>>(path: P) -> Result<()>
pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> Result<()>

1.2、文件操作

1.2.1、文件拷贝

使用 fs:: copy 方法可以实现文件拷贝,可以参考 io::copy 方法

#![allow(unused)]
use std::fs;
use std::io;fn main() -> io::Result<()>{fs::copy("foo.txt", "bar.txt")?;  // Copy foo.txt to bar.txtOk(())
}

1.2.2、文件读取

可以使用 fs::read 方法实现文件内容读取,可以参考 File::open 和 read_to_end 和read_to_string 方法进行文件读取

pub fn read<P: AsRef<Path>>(path: P) -> Result<Vec<u8>>

除此之外,我们还可以使用 BufReader 来进行文件按行读取;

 let reader = BufReader::new(file);for line in reader.lines() {println!("{}", line?);}

也可以使用 file.read 方法读取带有缓冲区的文件;

1.2.3、删除文件

pub fn remove_file<P: AsRef<Path>>(path: P) -> Result<()>

1.2.4、文件重命名

pub fn rename<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<()>

1.2.5、写入文件

pub fn write<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C) -> Result<()>

同样也可以使用 BufWriter 进行文件写入

1.2.6、设置文件权限

pub fn set_permissions<P: AsRef<Path>>(path: P, perm: Permissions) -> Result<()>

file 结构也提供了设置权限的方法

pub fn set_permissions(&self, perm: Permissions) -> Result<()>

1.2.7、创建文件

使用 File::create 方法来创建文件, 这种方式创建的是只写的文件。

use std::fs::File;
use std::io::Write;fn main() -> std::io::Result<()> {let mut f = File::create("foo.txt")?;f.write_all(&1234_u32.to_be_bytes())?;Ok(())
}

我们也可以使用链式调用方式来创建打开文件

fs::File::options().read(true).write(true).create_new(true).open("test.txt");OpenOptions::new().read(true).write(true)create(true).open("foo.txt");

二、标准输入输出

2.1、标准输入

使用 io::stdin 可以获取 Stdin 对象,该对象表示标准输入。

let mut input = String::new();
match io::stdin().read_line(&mut input) {Ok(n) => {println!("{n} bytes read");println!("{input}");}Err(error) => println!("error: {error}"),
}

2.1、标准输出

使用 os::stdout 可以获取 Stdoout 对象。可以向标准输出输出字符串 。我们一般不这么使用;

三、集合操作

std::collections 里面提供了 BTreeMap、BTreeSet、BinaryHeap、HashMap、HashSet、LinkedList、VecDeque等数据结构

总结

以上就是今天要讲的内容

http://www.yayakq.cn/news/361658/

相关文章:

  • 长沙县营销型网站建设选哪家手机如何制作ppt
  • 海安网站开发百度爱采购竞价推广
  • 广东网站建设报价官网门户设计模板
  • 手机网站域名解析怎么做简约网站版式
  • 摄影 网站 模板通付盾 建设网站公司
  • 网站开发技术说明设计师网站有哪些销售定制家具
  • 网站建设规范智能软件开发方向怎么样
  • 北京高端网站建设公司浩森宇特西安seo网站优化
  • 网站开发搭建ssc p2p 互助重庆企业网站推广策略
  • 珠海免费建站四川营销网站建设
  • 企业网站托管套餐jsp做购物网站技术可行性
  • 平台网站设计无锡做网站365caiyi
  • wordpress网站的cdn怎么设置公司企业网站源码
  • 上海市工程质量建设协会网站wordpress 礼物说模板
  • 百度为什么不收录网站的某个版块电子商务网站建设 下载
  • 网站建设项目公告电商平台的优势有哪些
  • 阿里云虚拟主机可以做两个网站吗搬瓦工一键WordPress
  • 株洲市建设局官方网站360推广做网站
  • 上海本土互联网公司专业的seo搜索引擎优化培训
  • 搭建简单网站前端开发的公司有哪些
  • 做刀网站迁安做网站中的cms开发
  • 偃师做网站wordpress 增量备份
  • 深圳网深圳网站开发公司商业网站的网址
  • 网站功能需求列表展台设计展会展位设计
  • 网页游戏网址推荐搜狗搜索引擎优化
  • 建微信网站木材 技术支持 东莞网站建设
  • 网站建设网页制作网站建设怎么做账务处理
  • 网站建设服务的具体条件自己做网站内容读取太慢
  • 网站规划怎么写宣传册样式
  • 如何用html做班级网站做网站一定要用服务器吗