一、文件路径操作
1.1、System.IO.Path
常用函数 需要引用System.IO 直接可以调用Path的静态方法
class Program
{
static void Main(string[] args)
{
//获取当前运行程序的目录
string fileDir = Environment.CurrentDirectory;
Console.WriteLine("当前程序目录:"+fileDir);
//一个文件目录
string filePath = "C:\\JiYF\\BenXH\\BenXHCMS.xml";
Console.WriteLine("该文件的目录:"+filePath);
string str = "获取文件的全路径:" + Path.GetFullPath(filePath); //-->C:\JiYF\BenXH\BenXHCMS.xml
Console.WriteLine(str);
str = "获取文件所在的目录:" + Path.GetDirectoryName(filePath); //-->C:\JiYF\BenXH
Console.WriteLine(str);
str = "获取文件的名称含有后缀:" + Path.GetFileName(filePath); //-->BenXHCMS.xml
Console.WriteLine(str);
str = "获取文件的名称没有后缀:" + Path.GetFileNameWithoutExtension(filePath); //-->BenXHCMS
Console.WriteLine(str);
str = "获取路径的后缀扩展名称:" + Path.GetExtension(filePath); //-->.xml
Console.WriteLine(str);
str = "获取路径的根目录:" + Path.GetPathRoot(filePath); //-->C:\
Console.WriteLine(str);
Console.ReadKey();
}
}
1.2、System.IO.Directory
try
{
var reportPath = seriesDir + "Reports";
if (!System.IO.Directory.Exists(reportPath))
{
System.IO.Directory.CreateDirectory(reportPath);
}
return reportPath;
}
catch (Exception)
{
return null;
}
二、文件操作
2.1、System.IO.File
2.1.1、System.IO.File.Exists 和 System.IO.File.Move
public void changeFileName(string fileName,string newFileName)
{
if (File.Exists(fileName))
{
File.Move(fileName, newFileName);
}
}
2.1.2、System.IO.File.Copy
文件重命名并复制到指定路径
var Path = $"{reportPath}\\{Name}_{dataId}_" + $"{Value.ToString("yyyyMMdd")}_{"fisres"}.csv";
try
{
var sourcePath = $"{offlinePath}\\{"bmi-fisres"}.csv";
if (File.Exists(sourcePath))
{
File.Copy(sourcePath, Path);
}
}
catch (Exception e)
{
LOG4CXX.Error(e.StackTrace);
}
2.1.3、System.IO.File.Create
File.Create(@"C:\xxx.txt")
2.1.4、System.IO.File.Delete
File.Delete(@"C:\xxx.txt")
2.1.5、System.IO.File.ReadAllBytes
读取文件
byte[] buffer = File.ReadAllBytes(@"C:\xxx.txt");
string str=Encoding.GetEncoding("GB2312").GetString(buffer);
Console.WriteLine(str);
Console.ReadKey();
2.1.5、System.IO.File.WriteAllBytes
写入文件
//没有该文件则新建,有则覆盖旧的
string str="Hello World";
byte[] buffer = Encoding.Default.GetBytes(str);
File.WriteAllBytes(@"C:\xxx.txt",buffer);
File.WriteAllLines(@"C:\xxx.txt",new string[]{"sf","wer","qt"});
File.WriteAllText(@"C:\xxx.txt","sdfasdfas");
File.AppendAllText(@"C:\xxx.txt","hiihljggu");
Console.WriteLine("写入成功");
Console.ReadKey();