Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何找到使用c打开的文件#_C# - Fatal编程技术网

C# 如何找到使用c打开的文件#

C# 如何找到使用c打开的文件#,c#,C#,如何查找文件是否打开,如果打开,则查找其完整路径或目录。您需要提供更多信息 所有文件处理类都在System.IO中。您将要使用文件或文件信息 FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None) try { stream.ReadByte(); //file is not open } catch (IOException) { //it

如何查找文件是否打开,如果打开,则查找其完整路径或目录。

您需要提供更多信息

所有文件处理类都在System.IO中。您将要使用文件或文件信息

 FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None)
try
{
    stream.ReadByte();
    //file is not open
}
catch (IOException)
{
    //it is open

}
说明:打开文件,尝试读取一个字节,如果不能,我们就知道它是打开的还是只读的

要获得完整路径,您可以使用:

fullPath = System.IO.Path.GetFullPath(path);

你到底想干什么?枚举所有文件,然后找到第一个打开的文件?或者像FileMon一样枚举所有打开的文件?从哪个对象开始?你有指向文件的文件流吗?你说的“打开”是什么意思?通常我会理解为“操作系统在文件上有一个句柄”和/或“文件上有一个读锁或写锁”,但一种感觉告诉我这不是你的意思。请通过编辑您的问题来澄清。我看不出有什么这么难理解:“在C#中,我如何才能找到另一个程序是否正在使用一个文件,如果是,我如何才能获得它的完整文件路径?”