输入输出

标准输入输出

System.Console提供终端的标准输入输出方法。

Console.Write(value);
Console.Write(string Format, args)

Format参考字符串格式化

Console.WriteLine额外输出换行。

文件系统

System.IO 命名空间包含与文件和目录进行交互的类型、对数据流和文件进行同步和异步读取和写入。

路径

Path 类并不关心内容是否确实存在。 路径是概念上的路径,而不是物理路径。

分隔符:Path.DirectorySeparatorChar

连接路径:

var p = Path.Combine("stores","201")
var ext = Path.GetExtension("sales.json")

目录

目录信息

目录属性

DirecotryInfo

列出目录包含的文件夹和文件。

using System.IO;
IEnumerable<string> dirs = Directory.EnumerateDirectories("stores");
IEnumerable<string> files = Directory.EnumerateFiles("stores", '*.txt', SearchOption.AllDirectories);

接受用于指定搜索模式文件和目录名称匹配模式,以及是否递归方式遍历指定的文件夹及其所有子文件夹。

返回路径基于给定的路径。

bool tf = Directory.Exists(path)   // 判断目录是否存在

特殊目录

当前目录
string curdir = Directory.GetCurrentDirectory() // 绝对路径

System.Environment.SpecialFolder 枚举指定用于检索特殊系统文件夹路径的常量。

文件属性

FileInfo

创建文件和目录

Directory.CreateDirectory(path);

目录管理


文件输出输出

使用静态方法读写:

File.WriteAllText(path, txt);
File.AppendAllText(path, txt);
string txt = File.ReadAllText(path);

使用File类读写。

JSON

dotnet add package Newtonsoft.Json
class SalesTotal
{
  public double Total { get; set; }
}
// 反序列化构造
var data = JsonConvert.DeserializeObject<SalesTotal>(str_data);

CSV

CsvHelper