最新下载
热门教程
- 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);
}
}
相关文章
- 碧蓝航线的里雅斯特期待的便当时间皮肤有什么 04-30
- 明日之后踏浪逐星服装展示攻略 04-30
- 深空之眼幽月塞勒涅刻印搭配核心思路 04-30
- 明日之后红杉茶会护卫队首领BOSS有哪些 04-30
- CF手游段位奖励汇总攻略 04-30
- 无期迷途5-13怎么走攻略 04-30