【问题标题】:StreamReader looking for file in the wrong directory in C#StreamReader 在 C# 的错误目录中查找文件
【发布时间】:2010-01-09 14:24:16
【问题描述】:

我有一个使用 windows 窗体的程序,在该窗体中,我使用 openFileDialog 在某个目录中打开文件。然后我在不同的函数中使用 StreamReader,并且在我的 big/debug 目录中有第二个文件,我希望 streamReader 打开。但由于某种原因,在我使用 openFileDialog 打开第一个文件后,StreamReader 会在该目录中查找第二个文件,而不是像往常一样在 bin/debug 中查找。

有谁知道他为什么这样做,我该如何解决?

提前致谢,

格雷格

【问题讨论】:

标签: c# streamreader openfiledialog


【解决方案1】:

OpenFileDialog 有这种行为;它改变了应用程序的当前目录。为防止这种情况发生,您可以使用OpenFileDialogRestoreDirectory 属性。

【讨论】:

    【解决方案2】:

    当您在打开的文件对话框中更改目录时,这也会导致您的应用程序的工作目录发生更改。因此,如果您尝试使用相对路径,它会出现在错误的位置。

    解决方案是RestoreDirectory

    【讨论】:

      【解决方案3】:

      如果不指定完整的文件路径而只指定文件名,则表示该文件在当前目录中。当您使用 OpenFileDialog 时,它会更改当前目录。

      如果您想在某处访问文件而不管当前目录设置为什么,您必须为其指定完整路径。您可以使用Application.StartupPath 获取程序所在文件夹的路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 1970-01-01
        • 2015-09-16
        • 2018-05-14
        • 1970-01-01
        相关资源
        最近更新 更多