由於經常用到文件處理,便自己封裝了下 分享給大家。 包含寫入文本 批量刪除文件 下載文件 。--可直接使用 /// <summary> /// 寫入到txt /// </summary> /// <param name="savePath"></param> /// <param name="con ...
由於經常用到文件處理,便自己封裝了下 分享給大家。 包含寫入文本 批量刪除文件 下載文件 。--可直接使用
/// <summary>
/// 寫入到txt
/// </summary>
/// <param name="savePath"></param>
/// <param name="content"></param>
public static void WriteInTxt(string savePath, string content)
{
string tempPath = System.IO.Path.GetDirectoryName(savePath);
System.IO.Directory.CreateDirectory(tempPath); //創建臨時文件目錄
if (!System.IO.File.Exists(savePath))
{
FileStream fs1 = new FileStream(savePath, FileMode.Create, FileAccess.Write);//創建寫入文件
StreamWriter sw = new StreamWriter(fs1);
sw.WriteLine(content);//開始寫入值
sw.Close();
fs1.Close();
}
else
{
FileStream fs = new FileStream(savePath, FileMode.Open, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine(content);//開始寫入值
sr.Close();
fs.Close();
}
}
/// <summary>
/// 遞歸刪除文件夾下所有文件
/// </summary>
/// <param name="file"></param>
public static void DeleteFile(string dirPath)
{
try
{
//去除文件夾和子文件的只讀屬性
//去除文件夾的只讀屬性
System.IO.DirectoryInfo fileInfo = new DirectoryInfo(dirPath);
fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
//去除文件的只讀屬性
System.IO.File.SetAttributes(dirPath, System.IO.FileAttributes.Normal);
//判斷文件夾是否還存在
if (Directory.Exists(dirPath))
{
foreach (string f in Directory.GetFileSystemEntries(dirPath))
{
if (File.Exists(f))
{
//如果有子文件刪除文件
File.Delete(f);
}
else
{
//迴圈遞歸刪除子文件夾
DeleteFile(f);
}
}
//刪除空文件夾
Directory.Delete(dirPath);
}
}
catch (Exception e)
{
}
}
/// <summary>
/// Http下載文件
/// </summary>
/// <param name="url">下載文件路徑</param>
/// <param name="savePath">保存路徑</param>
/// <returns></returns>
public static bool HttpDownloadFile(string url, string savePath)
{
string tempPath = System.IO.Path.GetDirectoryName(savePath);
System.IO.Directory.CreateDirectory(tempPath); //創建臨時文件目錄
string tempFile = tempPath + @"\" + System.IO.Path.GetFileName(savePath); //臨時文件
if (System.IO.File.Exists(tempFile))
{
//存在則跳出
return true;
//System.IO.File.Delete(tempFile);
}
try
{
FileStream fs = new FileStream(tempFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
// 設置參數
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
//發送請求並獲取相應回應數據
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
//直到request.GetResponse()程式才開始向目標網頁發送Post請求
Stream responseStream = response.GetResponseStream();
//創建本地文件寫入流
//Stream stream = new FileStream(tempFile, FileMode.Create);
byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, (int)bArr.Length);
while (size > 0)
{
//stream.Write(bArr, 0, size);
fs.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, (int)bArr.Length);
}
//stream.Close();
fs.Close();
responseStream.Close();
System.IO.File.Move(tempFile, savePath);
return true;
}
catch (Exception ex)
{
return false;
}
}