C#常用IO操作
2021-01-22 02:13
标签:public utf-8 exist create 递归 memory main opened indexof C#常用IO操作 标签:public utf-8 exist create 递归 memory main opened indexof 原文地址:https://www.cnblogs.com/RainFate/p/12090798.html文件夹
创建文件夹
//如果文件夹路径不存在则创建文件夹
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
递归创建文件夹
public void createdir(string fullpath)
{
if (!File.Exists(fullpath))
{
string dirpath = fullpath.Substring(0, fullpath.LastIndexOf(‘\\‘));
//string[] pathes = dirpath.Split(‘\\‘);
string[] pathes = fullpath.Split(‘\\‘);
if (pathes.Length > 1)
{
string path = pathes[0];
for (int i = 1; i )
{
path += "\\" + pathes[i];
//如果文件夹路径不存在则创建文件夹
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
}
}
}
}
文件
创建文件
//path是完整路径,要包含文件的后缀名
string path = @"C:\1.txt";
//判断文件是否存在,不存在就创建
if (!File.Exists(path))
{
//创建一个 UTF-8 编码text文件
File.CreateText(path);
//创建一个文件
//File.Create(path);
}
写入文件
using System.IO;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
//写入文本,不是追加,是清空在写入
string path = @"C:\1.txt";
string[] lines = { "First line", "Second line", "Third line" };
File.WriteAllLines(path, lines);
File.WriteAllText(path, "AAAAAAAAAAAAAAAA");
//追加写入文本
using (StreamWriter sw = new StreamWriter(path, true))
{
sw.WriteLine("Fourth line");
}
using (StreamWriter sw = File.AppendText(path))
{
sw.Write(12345);
}
}
}
}
文件流读写
public Stream FileToStream(string fileFullName)
{
using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
{
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
return new MemoryStream(bytes);
}
}
public void WriteFile(string fileFullName, byte[] bytes)
{
if (bytes == null)
return;
using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
{
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
#region 第二种
/*
using (MemoryStream m = new MemoryStream(bytes))
using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
{
m.WriteTo(fs);
}
*/
#endregion
}
Stream 和 byte[] 互转
///