由于经常用到文件处理,便自己封装了下 分享给大家。 包含写入文本  批量删除文件  下载文件 。--可直接使用

/// <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;
}
}

最新文章

  1. Linux文件权限查看及修改命令chmod
  2. leetcode 202
  3. linux奇技淫巧
  4. 【转载】async &amp; await 的前世今生(Updated)
  5. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
  6. HTTP各个状态返回值
  7. 简单的ALloctor模板
  8. 解决Xcode6.0.1编译Unity3Dproject报错
  9. Ubuntu14.04右键菜单添加Sublime 2打开选项
  10. Linux:Day17(下) openssl
  11. java去除查询实体字段多值之间空格
  12. 【转】 微软在.NET官网上线.NET 架构指南
  13. Oracle 在SQL语句中如何获取系统当前时间并进行操作
  14. win7下安装node及出现的npm问题
  15. MYSQL查询优化:show profile
  16. JSP复习(part 3 )
  17. 在Struts2框架中使用OGNL表达式(在jsp页面中使用OGNL表达式)
  18. Python练习 | WebServer
  19. python的tuple()
  20. +(void)load; +(void)initialize;有什么用处?

热门文章

  1. In case of failure
  2. 无法访问部署在linux上的Tomcat服务器解决方案
  3. win2003上传文件限制
  4. Canvas游戏计算机图形教程
  5. 配置 Mysql 支持远程访问 并取消域名解析以提高链接速度
  6. zeromq学习记录(二)天气更新服务器使用ZMQ_SUB ZMQ_PUB
  7. c++11日志练习
  8. div浮停在页面最上或最下
  9. 深入理解line-height与vertical-align(1)
  10. 【Maven】Nexus(Maven仓库私服)下载与安装