我已将一个文本文件添加到Windows窗体应用程序中并尝试访问此文件。
这是我的代码..
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
System.String s = Application.StartupPath+"/Licence.txt";
System.IO.FileInfo fi = new System.IO.FileInfo(s);
if (fi.Exists)
{
if (fi.Length == 0)
{
Application.Run(new Form1());
}
}
}
Licence.txt在我的项目文件夹中,但每次(fi.Exists)都是假的,程序从流程出来而没有显示Form1()窗口.. 请帮我。 提前谢谢..
答案 0 :(得分:6)
使用此:
string s = Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
"Licence.txt");
不要尝试手动组合路径,因为你必须处理路径分隔符...使用内置函数要好得多!
最后记得在项目中的 License.txt 文件中设置Copy to Output
属性。
答案 1 :(得分:1)
不使用字符串连接,请使用Path.Combine()
System.String s = Path.Combine(Application.StartupPath,"Licence.txt");
答案 2 :(得分:1)
[1]问题是它在你的项目文件夹中的位置:) Application.StartupPath进入调试模式
yourProject \ BIN \调试
是你的文件吗?
尝试逐步调试并查看您获得的路径以及文件是否存在
[2]您的窗口未显示,因为您错过了添加
Application.Run(new yourForm());
希望有所帮助:)
答案 3 :(得分:0)
string filePath = Path.GetFullPath(“Licence.txt”);
此文件应出现在安装文件夹中。这样你就可以得到文件路径。