我正在使用此代码在file
打开时显示错误:
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
MessageBox.Show("file is open!");
}
问题是代码不能处理图片(jpg,bmp等)和文件夹。
我有什么遗失的吗?
答案 0 :(得分:2)
不知道我是否理解你想做什么......我想你想知道某人是否正在查看该图像。
仅当某个应用程序具有打开的句柄时,文件才会“打开”。当您使用图片查看器时,查看器可以(很可能)打开文件,读取文件并立即关闭文件。因此,文件本身不使用。
这适用于所有类型的文件,但许多文件仍在保持打开状态(例如,Office应用程序通常会保持文件打开)。
通常,您不应该假设“文件句柄是打开的”和“某种方式的人类用户使用'文件”操作完全相关。该文件可以是开放的,但没有人在进行交互(可能是搜索守护程序正在索引它)。另一方面,文件可以对用户“可见”,但在文件系统上关闭。
答案 1 :(得分:0)
此代码在您的方案中不起作用。然后打开图片系统读取文件,解压缩图像并显示给您并关闭文件。您可以在Windows中打开时将其删除。