如题,我想将.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);
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);
Directory.GetCurrentDirectory()
调试时,你程序运行的目录为工程的目录。
假设你的工程在 D:\myProject\readFile 这个目录
你的程序在D:\myProject\readFile\bin\debug\readFile.exe
调试时,程序的当前路径为D:\myProject\readFile,你可以在项目的属性中找到“调试”选项,在里面设置好运行的目录。
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时就会出现我上面所说的错误!
请问这是什么原因啊?
---------------------------------------------------------------------
---------------------------------------------------------------------
如果有一个含有许多控件的窗体,当你运行应用程序时可能会得到 NotSupportedException。如果在调试器下运行,则可能会发现异常是由调用窗体构造函数中的 InitializeComponent() 引发的。可能出现的情况是,当在调试器下运行(例如通过 F5)时会看到异常,但不带调试器运行(通过 Ctrl-F5)时不会有异常。
不要将自己的代码添加到 InitializeComponent 方法中。因为在这个方法中修改或添加由设计器生成的代码是不受支持的。这样做也会导致设计器中出现意外行为。如果你要将自己的自定义启动代码添加到窗体中,就应该将它放在构造函数或 Form.Load 事件处理程序中。 如果你手动编辑 InitializeComponent 中的代码,则会发现设计器可能无法正确解释您修改过的代码,从而不再呈现窗体。
我不是在上面说了,当前路径不正确。
你可以试试看用绝对路径,将文件放一份在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);
Application.StartupPath + @"DEBUG\version.txt"
---------------------------------莫非你的IDE不合大家的一样?
string paraPath = defaultPath + "\\" + "syspara.par";
用这个是对的