最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ICSFile:重新封装C# File类
时间:2022-06-25 08:09:52 编辑:袖梨 来源:一聚教程网
当路径D:\web\不存在时,下边两个语句都会抛错:
File.WriteAllText(@"D:\web\index.htm", "111com.net");
File.ReadAllText(@"D:\web\index.htm");
平时调用WriteAllText前都得先调用Directory.Exists和Directory.CreateDirectory,换句话说,创建文件和创建所属文件夹应为一个整体,而读取文件时,创建所属文件夹显然不合适,基于这一原则,重新封装了C# File类:
复制内容到剪贴板 程序代码
public static class ICSFile
{
private static readonly Encoding DEFAULTENCODE = Encoding.UTF8;
///
/// 创建父文件夹
///
///
///
private static void CreateDirectory(string path)
{
string dir = Path.GetDirectoryName(path);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
}
///
/// 追加文本
///
///
///
public static void AppendAllText(string path, string contents)
{
AppendAllText(path, contents, DEFAULTENCODE);
}
///
/// 追加文本
///
///
///
///
public static void AppendAllText(string path, string contents, Encoding encoding)
{
CreateDirectory(path);
File.AppendAllText(path, contents, encoding);
}
///
/// 复制文件
///
///
///
public static void Copy(string sourceFileName, string destFileName)
{
Copy(sourceFileName, destFileName, false);
}
///
/// 复制文件
///
///
///
///
public static void Copy(string sourceFileName, string destFileName, bool overwrite)
{
CreateDirectory(destFileName);
File.Copy(sourceFileName, destFileName, overwrite);
}
///
/// 删除文件
///
///
public static void Delete(string path)
{
File.Delete(path);
}
///
/// 判断文件是否存在
///
///
///
public static bool Exists(string path)
{
return File.Exists(path);
}
///
/// 移动文件
///
///
///
public static void Move(string sourceFileName, string destFileName)
{
Move(sourceFileName, destFileName, false);
}
///
/// 移动文件
///
///
///
///
public static void Move(string sourceFileName, string destFileName, bool overwrite)
{
if (overwrite && File.Exists(destFileName))
{
File.Delete(destFileName);
}
CreateDirectory(destFileName);
File.Move(sourceFileName, destFileName);
}
///
/// 读取文件
///
///
///
public static string ReadAllText(string path)
{
return ReadAllText(path, DEFAULTENCODE);
}
///
/// 读取文件
///
///
///
///
public static string ReadAllText(string path, Encoding encoding)
{
return File.ReadAllText(path, encoding);
}
///
/// 创建一个新文件写入文本
///
///
///
public static void WriteAllText(string path, string contents)
{
WriteAllText(path, contents, DEFAULTENCODE);
}
///
/// 创建一个新文件写入文本
///
///
///
///
public static void WriteAllText(string path, string contents, Encoding encoding)
{
CreateDirectory(path);
File.WriteAllText(path, contents, encoding);
}
}
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22