c#文件操作的几个常用方法
c#根据绝对路径获取 带后缀文件名、后缀名、文件名
1、c#根据绝对路径获取 带后缀文件名、后缀名、文件名。
string str =" F:\test\Default.aspx";
string filename = System.IO.Path.GetFileName(str);//文件名 “Default.aspx”
string extension = System.IO.Path.GetExtension(str);//扩展名 “.aspx”
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(str);// 没有扩展名的文件名 “Default”
2、c#根据绝对路径获取 带后缀文件名、后缀名、文件名,使用 Split 函数。
string str = =" F:\test\Default.aspx";
char[] delimiterChars = { '.', '\\' };
string[] Mystr = str.Split(delimiterChars);
string sheetName = Mystr[Mystr.Length - 2];);// 没有扩展名的文件名 “Default”
string str =" F:\test\Default.aspx";
string filename = System.IO.Path.GetFileName(str);//文件名 “Default.aspx”
string extension = System.IO.Path.GetExtension(str);//扩展名 “.aspx”
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(str);// 没有扩展名的文件名 “Default”
2、c#根据绝对路径获取 带后缀文件名、后缀名、文件名,使用 Split 函数。
string str = =" F:\test\Default.aspx";
char[] delimiterChars = { '.', '\\' };
string[] Mystr = str.Split(delimiterChars);
string sheetName = Mystr[Mystr.Length - 2];);// 没有扩展名的文件名 “Default”
c#复制,剪切,删除的方法:
/// <summary>
/// 处理指定工作方式,只工作指定文件类型
/// </summary>
/// <param name="workWhat">[工作方式]目前支持 复制 剪切 删除</param>
/// <param name="fromDir">[来自]</param>
/// <param name="toDir">[到]</param>
/// <param name="extension">工作文件扩展名</param>
public void copyDir(string workWhat, string fromDir, string toDir, string extension)
{
string[] files = Directory.GetFiles(@fromDir);
foreach (string file in files)
{
FileInfo fiE = new FileInfo(@file);
//loading文本说明 赋值
if (workWhat == "复制")
{
if (fiE.Extension == extension)
{
File.Copy(@file, @toDir + "\\" + Path.GetFileName(@file), true);
}
}
else if (workWhat == "剪切")
{
if (fiE.Extension == extension)
{
File.Move(@file, @toDir + "\\" + Path.GetFileName(@file));
}
}
else if (workWhat == "删除")
{
if (fiE.Extension == extension)
{
File.Delete(@file);
}
}
}
//子目录处理
string[] dirs = Directory.GetDirectories(@fromDir);
foreach (string dir in dirs)
{
if (!Directory.Exists(@toDir + "\\" + Path.GetFileName(@dir)))
{
Directory.CreateDirectory(@toDir + "\\" + Path.GetFileName(@dir));
}
copyDir(workWhat, fromDir, @toDir + "\\" + Path.GetFileName(@dir), extension);
}
//使用
//copyDir("复制", @"D:\", @"E:\receive", ".txt");
//copyDir("剪切", @"D:\", @"E:\receive" , ".txt");
//copyDir("删除", @"D:\", string.Empty, ".txt");
}
/// 处理指定工作方式,只工作指定文件类型
/// </summary>
/// <param name="workWhat">[工作方式]目前支持 复制 剪切 删除</param>
/// <param name="fromDir">[来自]</param>
/// <param name="toDir">[到]</param>
/// <param name="extension">工作文件扩展名</param>
public void copyDir(string workWhat, string fromDir, string toDir, string extension)
{
string[] files = Directory.GetFiles(@fromDir);
foreach (string file in files)
{
FileInfo fiE = new FileInfo(@file);
//loading文本说明 赋值
if (workWhat == "复制")
{
if (fiE.Extension == extension)
{
File.Copy(@file, @toDir + "\\" + Path.GetFileName(@file), true);
}
}
else if (workWhat == "剪切")
{
if (fiE.Extension == extension)
{
File.Move(@file, @toDir + "\\" + Path.GetFileName(@file));
}
}
else if (workWhat == "删除")
{
if (fiE.Extension == extension)
{
File.Delete(@file);
}
}
}
//子目录处理
string[] dirs = Directory.GetDirectories(@fromDir);
foreach (string dir in dirs)
{
if (!Directory.Exists(@toDir + "\\" + Path.GetFileName(@dir)))
{
Directory.CreateDirectory(@toDir + "\\" + Path.GetFileName(@dir));
}
copyDir(workWhat, fromDir, @toDir + "\\" + Path.GetFileName(@dir), extension);
}
//使用
//copyDir("复制", @"D:\", @"E:\receive", ".txt");
//copyDir("剪切", @"D:\", @"E:\receive" , ".txt");
//copyDir("删除", @"D:\", string.Empty, ".txt");
}