下面这段代码可以对C#中对文件的新建 移动 删除 复制操作等有需要的朋友可以参考一下。
///
/// 判断文件或文件夹是否存在
///
/// 指定文件及其路径
/// 判断方式
///返回布尔值 文件夹是否存在 true 存在,false 不存在
public static bool IsExist(string file, FsoMethod method)
{
if (method == FsoMethod.File)
{
return File.Exists(file);
}
else if (method == FsoMethod.Folder)
{
return Directory.Exists(file);
}
else
{
return false;
}
}#region "新建"
///
/// 新建文件或文件夹
///
/// 文件或文件夹及其路径
/// 新建方式
public static void Create(string file, FsoMethod method)
{
try
{
if (method == FsoMethod.File)
{
WriteFile(file, string.Empty);
}
else if (method == FsoMethod.Folder)
{
Directory.CreateDirectory(file);
}
}
catch
{
throw new UnauthorizedAccessException("没有权限!");
}
}#endregion
#region "复制"
#region "复制文件"
///
/// 复制文件,如果目标文件已经存在则覆盖掉
///
/// 源文件
/// 目标文件
public static void CopyFile(string oldFile, string newFile)
{
File.Copy(oldFile, newFile, true);
}///
/// 以流的形式复制拷贝文件
///
/// 源文件
/// 目标文件
///是否复制成功 true 成功,false 失败
public static bool CopyFileStream(string oldPath, string newPath)
{
try
{
// 建立两个FileStream对象
FileStream fileStreamOld = new FileStream(oldPath, FileMode.Open, FileAccess.Read);
FileStream fileStreamNew = new FileStream(newPath, FileMode.Create, FileAccess.Write);//// 分别建立一个读写类
BinaryReader br = new BinaryReader(fileStreamOld);
BinaryWriter bw = new BinaryWriter(fileStreamNew);//// 将读取文件流的指针指向流的头部
br.BaseStream.Seek(0, SeekOrigin.Begin);
//// 将写入文件流的指针指向流的尾部
br.BaseStream.Seek(0, SeekOrigin.End);while (br.BaseStream.Position {
//// 从br流中读取一个Byte并马上写入bw流
bw.Write(br.ReadByte());
}
//// 释放所有被占用的资源
br.Close();
bw.Close();
fileStreamOld.Flush();
fileStreamOld.Close();
fileStreamNew.Flush();
fileStreamNew.Close();
return true;
}
catch
{
return false;
}
}#endregion
#region "复制文件夹"
///
/// 复制文件夹中的所有内容及其子目录所有文件
///
/// 源文件夹及其路径
/// 目标文件夹及其路径
public static void CopyDirectory(string oldDir, string newDir)
{
DirectoryInfo directoryInfo = new DirectoryInfo(oldDir);
CopyDirInfo(directoryInfo, oldDir, newDir);
}#endregion
#endregion
#region "移动"
///
/// 移动文件或文件夹
///
/// 原始文件或文件夹
/// 目标文件或文件夹
/// 移动方式:1、为移动文件,2、为移动文件夹
public static void Move(string oldFile, string newFile, FsoMethod method)
{
if (method == FsoMethod.File)
{
File.Move(oldFile, newFile);
}if (method == FsoMethod.Folder)
{
Directory.Move(oldFile, newFile);
}
}#endregion
#region "删除"
///
/// 删除文件或文件夹
///
/// 文件或文件夹及其路径
/// 删除方式:1、为删除文件,2、为删除文件夹
public static void Delete(string file, FsoMethod method)
{
if (method == FsoMethod.File)
{
if (File.Exists(file))
{
File.Delete(file);
}
}if (method == FsoMethod.Folder)
{
if (Directory.Exists(file))
{
Directory.Delete(file, true); // 删除该目录下的所有文件以及子目录
}
}
}#endregion
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏