C# 图片 等 文件 读取操作 的一点提示
源于:在读取图片时,总喜欢首先采用:Image img=Image.FromFile("");操作,这种方式由于 调用图片的程序与图片文件是通过 绝对地址关联的,会造成 当前进程或其它进程无法对该图片 进行类似的操作[提示文件正在使用中]...
回想曾经有过的做法,即将图片数据读取到内存中,再进行显示等相关操作,这样就让程序与其图片地址没有直接的操作关联...从而达到重复对图片进行读取,校验...等可能的操作步骤...
注:其它文件类型的操作估计也有可能会出现相同的境遇和无奈...
----------
----有过教训,但不曾重视,或不曾记得...所以,还是笔记下来,顺便博客一下...以后方便查询,巩固...
以下是参考代码:
/// <summary>
/// 此方法加载的图片,由于与文件地址绑定,且作为打开读取状态,所以不能进行再次对文件处理的操作...[会提示正在使用中]
/// 所以,建议使用 Frm2(pth),通过将其读取到流中,并在读取完成后记得关闭流...就可以再次重复相同或类似的相同文件读取处理操作
/// </summary>
/// <param name="pth"></param>
/// <returns></returns>
private static Image Frm(string pth)
{
Image img = Image.FromFile(pth);
return img;
}
/// <summary>
/// 建议使用
/// 测试:正确
/// 时间:202106172300
/// </summary>
/// <param name="pth"></param>
/// <returns></returns>
public static Image Frm2(string pth)
{
FileStream fs = new FileStream(pth, FileMode.Open);
return Frm2(fs);
}
/// <summary>
/// 建议使用
/// 测试:正确
/// 时间:202106172300
/// </summary>
/// <param name="strm"></param>
/// <returns></returns>
public static Image Frm2(Stream strm)
{
Image img = Image.FromStream(strm);
strm.Close();
return img;
}
暂时只考虑到此种方法...
交流 QQ : 2412366909@qq.com
手机号码:177-7499-4428
注:本人使用过程中暂未发现造成存取不正确的问题
C# 图片 等 文件 读取操作 的一点提示的更多相关文章
- Perl中文件读取操作
Perl中文件读取操作 http://blog.csdn.net/yangxuan12580/article/details/51506216
- java 的文件读取操作
/** * @param filePath 文件的全路径 * 返回我们读取到的文件内容 * **/ public static String readFile(String filePath) { F ...
- python文件读取操作、序列化
1.对文件进行读写操作时,先建立文件句柄 f = open("test.txt","r",encoding="UTF-8") 其中,r为文件 ...
- PHP大文件读取操作
简单的文件读取,一般我们会使用 file_get_contents() 这类方式来直接获取文件的内容.不过这种函数有个严重的问题是它会把文件一次性地加载到内存中,也就是说,它会受到内存的限制.因此,加 ...
- Python学习日记之文件读取操作
Python内置了文件读写的函数open,read 用法示例: open('/home/root/files.txt ') 在打开文件后,操作完成后可以使用close()关闭文件,但比较好的文件读写方 ...
- day08 学习小测试 九九乘法表 车牌划分计算 大文件读取操作
1.1需求:读取一个100G的文件,检测文件中是否有关键字keys=['苍老师','小泽老师',"alex"], 如果有则替换成"***",并写入到另一个文件中 ...
- python文件读取操作
#IO操作 #模拟账号登录 data = [] #0=userName 1=password obj = open("login.txt","r") for l ...
- 〖Linux〗proc的一些文件读取操作
/* * ===================================================================================== * * Filen ...
- UWP中的文件相关操作
最近开始做UWP开发,图省事儿就把自己之前一个Winform项目的一部分代码拷贝到了新写的UWP项目中来.整出了一些幺蛾子,下面做一个记录. 首先提一个重点就是:UWP里关于文件的操作尽量用Stora ...
- html5文件读取+按钮样式重置+文件内容预览
FileReader读取文件详细介绍请访问:http://www.cnblogs.com/xyyt/p/9066882.html FileReader提供了如下方法: readAsArrayBuffe ...
随机推荐
- SqlSession的提交commit
SqlSession.commit(); 是执行了事务的提交
- freeradius + mysql安装配置
该文档参考http://t.zoukankan.com/FlyingPuPu-p-7772410.html安装,仅做了微调. 一.准备工作 安装编译FreeRadius所需要的依赖 #安装wget.g ...
- java技术系列(一) Enum
Enum的本质是类,继承自Enum类. enum直接使用==进行比较就可以. 类型的静态values方法,返回左右的枚举实例. ordinal方法返回enum声明中枚举常亮的位置. enum可以继承接 ...
- vue页面多表单验证保存
页面中有多个表单需要验证,可以使用以下方法: export default { data: { return { addOrEditVo: { name: '', description: '', a ...
- JAVA根据时间增加1天
String time = "2021-12-1"; //指定时间 int day = 30;//指定增加天数 SimpleDateFormat sf = new SimpleDa ...
- spark项目技术点整理
spark项目技术点整理 1.性能调优: 1>分配更多的资源:性能调优的王道就是分配和增加更多的资源.写完一个spark作业后第一个要是调节最优的资源配置,能够分配的资源达到你的能力范围的顶端后 ...
- Linux 服务器安全扫描
工具一:Nmap 1. 探测网络中活跃的主机 nmap -sP 10.0.105.1/24 :探测10.0.105网段中的全部主机 2. 探测主机系统版本 nmap -O IP :探测指定IP的相关数 ...
- Spring入门之使用 spring 的 IOC 解决程序耦合(Spring环境搭建)(03-01)
3.1 案例的前期准备 1.使用的案例是:账户的业务层和持久层的依赖关系解决(就是有两个账户实现转账之类的事情,后期继续用这个案例)2.准备环境:在开始 spring 的配置之前,我们要先准备一下环境 ...
- 查看linux机器上的cpu个数
1. 查看 cpu 的物理核数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数( ...
- AX2012 快速清空整个log表数据
如果当一个log表的数据非常大的时又需要清理时,如果允许删除全部数据,在AX里,可以 将log表的TableType调整为[TempDB], 保存同步后再将TableType设置回[Regular]即 ...