文件操作一些总结
来源:互联网 发布:淘宝小店如何推广 编辑:程序博客网 时间:2024/05/17 09:10
操作文件时加锁
.net编程中经常会用到操作文件,特别是xml文件经常会用到
文件操作在多线程中如果不注意经常会碰到"XXX文件正在由另一个进程访问"之类的错误
XmlDocument.Load(string)是托管方法,本身是不需要释放的安全方法
但是由于你多线程可能同时对文件本身访问,所以要加上一些处理在你document处理完了之后,释放掉资源就可以了
document.RemoveAll();
document = null;
但这样并不保险,上面的问题还是存在,最好在文件操作的时候加上锁,即当前只允许一个线程访问,而且最好是一个全局静态锁 如:
public static object FileLockObj = new object(); //文件访问锁
操作文件时加锁
lock (FileLockObj)
{
//更新配置
XmlUtils xu = new XmlUtils();
xu.EditFileConfigTimes(app.Name, app.Times);
}
递归处理文件夹
public static void DealFiles(string filePath)
{
DirectoryInfo fatherFolder = new DirectoryInfo(filePath);
//处理当前文件夹内文件
FileInfo[] files = fatherFolder.GetFiles();
foreach (FileInfo file in files)
{
string fileName = file.Name;
try
{
Console.WriteLine("XXX");
//var upLoaded = UpLoadFile(file);
//if (upLoaded)
//{
// //file.Delete();
//}
Console.WriteLine(file.Name + "XXX");
}
catch (Exception ex)
{
}
}
//递归处理子文件夹内文件
foreach (DirectoryInfo childFolder in fatherFolder.GetDirectories())
{
DealFiles(childFolder.FullName);
}
}
---end---
- 文件操作一些总结
- C文件操作一些总结
- C文件操作一些总结
- C文件操作一些总结
- ★ C文件操作一些总结
- Android文件操作的一些小总结
- 关于PHP操作文件的一些FAQ总结
- 关于PHP操作文件的一些FAQ总结
- 关于PHP操作文件的一些FAQ总结
- C#对Windows文件/文件夹/目录的一些操作总结
- C语言中一些对文件操作的函数总结
- 关于操作java中的SD卡文件的一些总结
- jqGrid 操作一些总结
- 文件的一些操作
- 文件的一些操作
- 一些文件操作
- 文件IO一些操作
- hadoop 一些文件操作
- hdu4973(线段树)
- SpringMVC一次请求多次进入Control的原因
- poj 2983 差分约束
- Techniques for preventing overfitting in training Deep Neural Networks
- 用curl模拟http请求获取网页
- 文件操作一些总结
- IP(Internet Protocal) 地址 说明
- c++Primer学习笔记之一:程序的编译与执行
- STOMP协议说明书-1.2版
- HDU 4091Zombie’s Treasure Chest (数学加暴力)
- android手机连接PC无法正常安装驱动
- Android Annotations浅析
- 嵌入式中,自动加载sd卡脚本
- 惹恼程序员的十件事 http://blog.csdn.net/haoel/article/details/4053048