1、通过FlieInfo和DirectoryInfo来读取文件和文件夹属性
查看文件属性,创建文件,移动文件,重命名文件
判断路径是否存在,创建目录
2、通过File读写文件
3、使用流来读写文件
FileStream 文件流适合二进制文件的读与写
StreamReader 读取流 (适合文本文件)
StreamWriter 写入流 (适合文本文件)
例子:
通过FileInfo可以查看文件属性等信息
static void Main(string[] args)
{
FileInfo fileInfo = new FileInfo("TextFile1.txt");
//FileInfo fileInfo = new FileInfo(@"C: \Users\19055\source\repos\Text1\File\TextFile1.txt");
Console.WriteLine(fileInfo.Exists);
Console.WriteLine(fileInfo.Name);
Console.WriteLine(fileInfo.Attributes);
Console.WriteLine(fileInfo.IsReadOnly);
Console.WriteLine(fileInfo.Length);
if (fileInfo.Exists == true)
{
fileInfo.Delete();
}
Console.ReadLine();
}

image.png
通过DirectotyInfo可以查看文件夹属性等信息
static void Main(string[] args)
{
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\19055\source\repos\Text1\File");
Console.WriteLine(directoryInfo.Exists);
Console.WriteLine(directoryInfo.FullName);
Console.WriteLine(directoryInfo.Name);
directoryInfo.CreateSubdirectory("file");
Console.ReadLine();
}

image.png
使用File读写文件
static void Main(string[] args)
{
//读数据
string a = File.ReadAllText("TextFile1.txt");
Console.WriteLine(a);
//写数据
File.WriteAllText("TextFile2.txt", "holle world!");
Console.ReadLine();
}
使用流读取和写入文件
用fileStream读出(适合二进制文件)
static void Main(string[] args)
{
FileStream fileStream = new FileStream("TextFile1.txt",FileMode.Open);
byte[] date = new byte[1024];
int length=fileStream.Read(date,0,date.Length);
for (int i = 0; i < length; i++)
{
Console.Write(date[i]+" ");
}
Console.ReadLine();
}
}
ileStream读出:如果文件过大就循环读入
static void Main(string[] args)
{
FileStream fileStream = new FileStream("TextFile1.txt",FileMode.Open);
byte[] date = new byte[1024];
while (true)
{
int length = fileStream.Read(date, 0, date.Length);
if (length == 0)
{
Console.WriteLine("读取文件完毕");
Console.ReadLine();
}
for (int i = 0; i < length; i++)
{
Console.Write(date[i] + " ");
}
}
}
ileStream读出:将图片写入一个新的文件
static void Main(string[] args)
{
FileStream fileReadStream = new FileStream("picture.png", FileMode.Open);
FileStream fileWriteStream = new FileStream("picturecopy.png", FileMode.Create);
byte[] date = new byte[1024];
while (true)
{
int length = fileReadStream.Read(date, 0, date.Length);
if (length == 0)
{
Console.WriteLine("读取数据完毕");
break;
}
else
{
fileWriteStream.Write(date, 0, date.Length);
}
; }
fileWriteStream.Close();
fileReadStream.Close();
Console.ReadLine();
}

image.png
用streamReader和streamWriter读出和写入文件(适合文本文件)
static void Main(string[] args)
{
StreamReader streamReader = new StreamReader("TextFile1.txt");
string massage = streamReader.ReadToEnd();
Console.WriteLine(massage);
streamReader.Close();
StreamWriter streamWriter = new StreamWriter("Text.txt");
while (true)
{
string mag = Console.ReadLine();
if (mag == "q")
{
break;
}
else
{
streamWriter.Write(mag);
}
streamWriter.Close();
}
Console.ReadLine();
}