【问题标题】:Access files created by another program访问由另一个程序创建的文件
【发布时间】:2017-10-05 08:01:02
【问题描述】:

我有一个线程可以解析文件夹 A 中的文件并将它们移动到另一个文件夹 B。A 文件夹文件是由我无权访问的另一个程序创建的。 所以有时我无法访问文件夹A文件,因为它们被另一个进程(可能是另一个程序的进程)使用。

你能帮帮我吗?

【问题讨论】:

    标签: c# multithreading file thread-safety


    【解决方案1】:

    除非应用程序用户有权访问它,否则访问任何进程创建的文件都不会出现问题。

    您遇到的问题是由于其他程序创建的文件在创建或修改后可能无法正常释放或关闭,因此请确保您的其他程序安全释放资源。

    var file = File.Create(path);
    file.Close();
    

    此外,在多个线程中访问相同资源时,您需要注意线程安全,因为您有两个不同的进程,您所能做的就是在一个进程中等待,直到文件被另一个进程释放。

    【讨论】:

    • 这是问题所在,我无法访问其他程序。
    • 在这种情况下,您如何确保您访问的是更新文件的正确版本?我的意思是其他程序是否会按计划更新文件或其他方式以及您如何知道何时使用您的程序访问它?
    • 无论如何你都会有一个线程来解析文件,你需要确保两个程序都以线程安全的方式访问文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2015-11-09
    • 2015-10-19
    • 1970-01-01
    相关资源
    最近更新 更多