如题,我想将.TXT档放在与DEBUG下生成的.EXE档放在同一个目录下,但是在程序中不知道如何写.TXT文档的路径!
FileInfo version = new FileInfo("\\version.txt");//这样与本应该是在PDA的MY DEVICE目录下的文件,但是在PC端这个文件应该放在哪里啊?
FileStream Version_data = version.Open(FileMode.Open);
StreamReader Context = new StreamReader(Version_data, System.Text.Encoding.Default);

解决方案 »

  1.   

    在程序里获取当前路径就可以了。
    Directory.GetCurrentDirectory()
      

  2.   

    defaultPath = System.IO.Directory.GetCurrentDirectory().ToString();
      

  3.   

    我也曾这们获得,但是会出现错误信息:NotSupportedException was unhandled
      

  4.   

    代码没错,关键时运行环境的问题。
    调试时,你程序运行的目录为工程的目录。
    假设你的工程在 D:\myProject\readFile 这个目录
    你的程序在D:\myProject\readFile\bin\debug\readFile.exe
    调试时,程序的当前路径为D:\myProject\readFile,你可以在项目的属性中找到“调试”选项,在里面设置好运行的目录。
      

  5.   

    Application.StratPath+"\\version.txt";
      

  6.   

    我的代码如下:
    string defaultPath = System.IO.Directory.GetCurrentDirectory().ToString();
                FileInfo version = new FileInfo(defaultPath + "\\version.txt");
                FileStream Version_data = version.Open(FileMode.Open);
                StreamReader Context = new StreamReader(Version_data, System.Text.Encoding.Default);
    在执行Deploy 时选择pocket pc 2003 se Emulation时就会出现我上面所说的错误!
    请问这是什么原因啊?
      

  7.   

    会出现错误信息:NotSupportedException was unhandled
    ---------------------------------------------------------------------
    ---------------------------------------------------------------------
    如果有一个含有许多控件的窗体,当你运行应用程序时可能会得到 NotSupportedException。如果在调试器下运行,则可能会发现异常是由调用窗体构造函数中的 InitializeComponent() 引发的。可能出现的情况是,当在调试器下运行(例如通过 F5)时会看到异常,但不带调试器运行(通过 Ctrl-F5)时不会有异常。
    不要将自己的代码添加到 InitializeComponent 方法中。因为在这个方法中修改或添加由设计器生成的代码是不受支持的。这样做也会导致设计器中出现意外行为。如果你要将自己的自定义启动代码添加到窗体中,就应该将它放在构造函数或 Form.Load 事件处理程序中。 如果你手动编辑 InitializeComponent 中的代码,则会发现设计器可能无法正确解释您修改过的代码,从而不再呈现窗体。
      

  8.   

    Application.StratPath+"\\version.txt";
      

  9.   

    version.Open(FileMode.Open);出错因为没有这个文件吧
    我不是在上面说了,当前路径不正确。
    你可以试试看用绝对路径,将文件放一份在D盘根目录,            FileInfo version = new FileInfo("d:\\version.txt");
                FileStream Version_data = version.Open(FileMode.Open);
                StreamReader Context = new StreamReader(Version_data, System.Text.Encoding.Default);
      

  10.   

    Application.StratPath + @"\version.txt";
      

  11.   

    采用绝对路径也是不可以的,提示的错误信息和上面是一样的,另外Application里面的选项中根本就没有StratPath,不知道是我用的和大家的不一样吗?
      

  12.   

    Application.StartupPath   +   @"\..\..\DEBUG\version.txt"
    Application.StartupPath   +   @"DEBUG\version.txt"
      

  13.   

    Application.StartupPath   就没有啊? 只有Application.Doevens/Eauals/Exit/ReferenceEquals/Run,没有Application.StartupPath
      

  14.   

    Application.StartupPath   就没有啊? 只有Application.Doevens/Eauals/Exit/ReferenceEquals/Run,没有Application.StartupPath
    ---------------------------------莫非你的IDE不合大家的一样?
      

  15.   

    可能吧,那我还有其它的方法可以实现吗?我想让这个TXT文档能够和.EXE文档在同一个目录下,我要比对里面的内容!
      

  16.   

                string defaultPath = Application.StartupPath;
                string paraPath = defaultPath + "\\" + "syspara.par";
    用这个是对的