获取文件路径 删除文件夹及文件
/// <summary>
/// 获取文件路径
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static string GetFilePath(string filepath)
{
//文件夹路径
string FolderPath = string.Empty;
try
{
FolderPath = HttpRuntime.AppDomainAppPath + filepath;
}
catch
{
FolderPath = Directory.GetCurrentDirectory() + filepath;
}
try
{
if (!Directory.Exists(FolderPath))
{
Directory.CreateDirectory(FolderPath);
}
}
catch
{
throw new Exception();
}
return FolderPath;
}
/// <summary>
/// 删除文件夹及文件夹下文件
/// </summary>
/// <param name="srcPath">需要删除文件夹路径</param>
/// <returns></returns>
public static bool DelectDir(string srcPath)
{
if (Directory.Exists(srcPath))
{
try
{
DirectoryInfo dir = new DirectoryInfo(srcPath);
FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
foreach (FileSystemInfo i in fileinfo)
{
if (i is DirectoryInfo) //判断是否文件夹
{
DirectoryInfo subdir = new DirectoryInfo(i.FullName);
subdir.Delete(true); //删除子目录和文件
}
else
{
File.Delete(i.FullName); //删除指定文件
}
}
//最后删除文件夹
dir.Delete(true);
return true;
}
catch
{
return false;
}
}
else
{
return false;
}
}
读写文件数据
/// <summary>
/// 读取文件[读取加密后的文本]
/// </summary>
/// <param name="FilePath"></param>
/// <returns></returns>
public static string ReadFile(string FilePath)
{
try
{
FileStream fs = File.Open(FilePath, FileMode.Open);
byte[] bss = new byte[fs.Length];
int i = fs.Read(bss, 0, (int)fs.Length);
string result = Encoding.Default.GetString(bss);
result = DecodeBase64(Encoding.ASCII, result);
fs.Close();
return result;
}
catch
{
return null;
}
}
/// <summary>
/// 保存文件[保存加密后的文本]
/// </summary>
/// <param name="FilePath"></param>
/// <param name="file"></param>
public static void SaveFile(string FilePath, string file)
{
try
{
file = EncodeBase64(Encoding.ASCII, file);
byte[] bs = Encoding.Default.GetBytes(file);
Stream writer = new FileStream(FilePath, FileMode.Create, FileAccess.Write, FileShare.Write);
writer.Write(bs, 0, bs.Length);
writer.Flush();
writer.Close();
}
catch
{
throw new Exception();
}
}