社区
Delphi
帖子详情
如何判断文件正在被使用
Zoogreen
2005-05-31 05:03:48
比如txt,avi,dat,rm等格式的文件
...全文
144
10
打赏
收藏
如何判断文件正在被使用
比如txt,avi,dat,rm等格式的文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stillwpl
2005-05-31
打赏
举报
回复
有一个很简单的方法 就是 运行程序后 它有时回弹出i/o接口错误 这样肯定会有一部分是文件被占用的问题
fffddd
2005-05-31
打赏
举报
回复
TXT 是可以同时打开的。
Kevin928
2005-05-31
打赏
举报
回复
用try..except ,其中让try试图以写方式打开,如果文件正被使用,应该会抛出异常
我只是想法,没经过试验,楼下继续
Zoogreen
2005-05-31
打赏
举报
回复
我要判断的文件比较大的媒体文件 400M 左右的,openfile, createfile打开或创建,太浪费时间跟资源了
BigBen
2005-05-31
打赏
举报
回复
我倒有一个问题了,怎么知道正在使用一文件的程序名?或其主程序的HANDLE?
BigBen
2005-05-31
打赏
举报
回复
//利用OpenFile Api函数判断
function FileLocked(Fn: string): Boolean;
var
I : Integer;
Struct: TOfStruct;
Style: Cardinal;
Hdl: Hfile;
Drive: String;
begin
Style := OF_Share_Exclusive; //排它方式打开
Drive := UpperCase(Fn[1]);
Struct.fFixedDisk := Ord(Drive <> 'A'); //判断是否是硬盘
Struct.cBytes := SizeOf(Struct);
For I := 1 to Length(Fn) do
Struct.szPathName[I-1] := Fn[I];
Struct.szPathName[I] := Chr(0); //填充文件名
Hdl := OpenFile(Pchar(Fn), Struct, Style);
if Hdl = HFILE_ERROR then
begin
Result := True; //文件被锁定
Showmessage(SysErrorMessage(GetLastError)); //显示错误原因
end
else
Result := False;
end;
//利用CreateFile Api函数判断
function LockedFile(Fn: string): Boolean;
var
AFile: THandle;
SecAtrrs: TSecurityAttributes;
begin
FillChar(SecAtrrs, SizeOf(SecAtrrs), #0);
SecAtrrs.nLength := SizeOf(SecAtrrs); //结构体长度
SecAtrrs.lpSecurityDescriptor := nil; //安全描述
SecAtrrs.bInheritHandle := True; //继承标志
AFile := CreateFile(PChar(Fn), GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_Read, @SecAtrrs, OPEN_EXISTING,
FILE_ATTRIBUTE_Normal, 0);
if AFile = INVALID_HANDLE_VALUE then
begin
Result := True; //文件被锁定
showmessage(SysErrorMessage(GetLastError));
end
else
Result := False;
end;
从网上翻的。
Zoogreen
2005-05-31
打赏
举报
回复
晕,关键是正在使用不能删,没有在使用了,经server端确认后才能删,server没有确认是不能删的。
g961681
2005-05-31
打赏
举报
回复
尝试把他给删,如果删不掉,那就是正在被使用了!
Zoogreen
2005-05-31
打赏
举报
回复
关注一下啊,只是
giveusomecolor
2005-05-31
打赏
举报
回复
关注`````````
使用
JSTL需要的jar包程序
文件
JSP 标准标签库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和...如果要
使用
JSTL,则必须将standard-1.1.2.jar和 jstl-1.2.jar
文件
放到classpath中
c#
判断
文件
是否正在被另一个进程
使用
引言 我在做一个读取excel
文件
批量插入数据库的Job,遇到正在...找到一个
判断
文件
是否正在被
使用
的方法记录一下。 public static bool IsFileInUse(string fileName) { var inUse = true; if (!File.Exists(...
Java工程师系列课程之8--《Java
文件
与IO流》
3、深入解决实际问题:视频课程不仅讲解理论知识,还深入解决了很多实际问题,例如:讲解如何通过程序
判断
一个
文件
的编码格式、如何设置
文件
读写权限等 4、讲解经典算法:例如讲解缓冲区的管理机制,能让学员学到...
linux下
判断
一个
文件
是否正在被
使用
*
判断
某个
文件
是否正在
使用
中 * 返回值 * -1 表示时出错 * 0 表示
文件
没有在
使用
中 * 1 表示
文件
正在
使用
中 */ int Lsof(char *strFileSubPath) //其中strFileSubPath包括
文件
名 { ...
java
判断
文件
是否被占用_java
判断
一个
文件
是否正在被其他程序
使用
(调用)?...
可以试一下以下两个程序:先运行这个,让一个
文件
处于
使用
状态:import java.io.*;public class FileLocker {public static void main (String args[]) {try {File f = new File("a.txt");f.createNewFile();...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章