<configuration>
<appSettings>
<add key="DicPath" value="D:\我的项目\联系项目\文件夹、文件的读写\文件夹、文件的读写\dir" />
</appSettings>
</configuration>
public class MyIO
{
//获得配置文件里面的路径信息
public static string DicPath = ConfigurationManager.AppSettings["DicPath"];
//用于移动
public static string NewPath = @"D:\我的项目\联系项目\文件夹、文件的读写\文件夹、文件的读写\new_dir";
//获取相对路径
//对文件夹操作
public static void DirectoryFun()
{
//1、检查文件夹是否存在
{
bool isExists = Directory.Exists(DicPath);
}
//2、创建文件夹
{
Directory.CreateDirectory(DicPath);
}
//3、移动文件夹
{
//移动后原文件夹将不存在
Directory.Move(DicPath, NewPath);
}
//4、删除文件夹
{
//目录不是空的不能删除 会异常
Directory.Delete(NewPath);
}
}
//对文件进行操作
public static void FileFun()
{
/*
*如果路径不存在,首先要先创建文件夹 之后再创建文件
*/
string FilePath = @"D:\我的项目\联系项目\文件夹、文件的读写\文件夹、文件的读写\dir\1.txt";
string NewFilePath = @"D:\我的项目\联系项目\文件夹、文件的读写\文件夹、文件的读写\dir\2.txt";
string txt = "要写入的信息";
//判断文件是否存在
{
bool isExists = File.Exists(FilePath);
}
//1、创建文件方式1
{
using (FileStream fs = File.Create(FilePath))
{
byte[] bytes = Encoding.Default.GetBytes(txt);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
}
}
//2、创建文件方式2
{
using (StreamWriter sw = File.AppendText(FilePath))
{
sw.WriteLine(txt);
sw.Flush();
}
}
//3、读取文件1
{
foreach (string item in File.ReadAllLines(FilePath))
{
Console.WriteLine(item);
}
}
//4、读取文件2
{
File.ReadAllBytes(FilePath);
}
//5、读取文件3
{
File.ReadAllText(FilePath);
}
//6、分批读取文件
{
using (FileStream fs = File.OpenRead(FilePath))
{
//每次读取的字节数
int length = 5;
int result = 0;
do
{
byte[] bytes = new byte[length];
result = fs.Read(bytes, 0, length);
for (int i = 0; i < result; i++)
{
Console.WriteLine(bytes[i].ToString());
}
}
while (length == result);
}
}
//7、移动文件
{
File.Move(FilePath, NewFilePath);
}
//8、删除文件 慎用
{
File.Delete(NewFilePath);
}
}
}