而不是每次都这样做
String[] subject = File.ReadAllLines("C:\\Users\\VVIT\\Downloads\\notifications\\Mynotifications\\subjects.txt");
只需要这样做:
String[] subject = File.ReadAllLines("~\\notifications\\Chairman\\subjects.txt");
每当我更改项目驱动器时,波形符〜必须自动获取项目路径。
答案 0 :(得分:1)
使用文件的相对路径名是不明智的。您的程序的工作目录可能会更改,然后无法找到该文件。生成文件的绝对路径名,如下所示:
public static string GetAbsolutePath(string filename) {
string dir = System.IO.Path.GetDirectoryName(Application.StartupPath);
return System.IO.Path.Combine(dir, filename);
}
用法:
string[] lines= File.ReadLines(GetAbsolutePath(@"notifications\subjects.txt"));
答案 1 :(得分:0)
不要依赖相对路径。相对路径取决于“当前目录”,可以通过Environment.CurrentDirectory
在.net中检索。
当前目录可能会在程序的生命周期内发生变化。例如,OpenFileDialog
可以更改CurrentDirectory
,从命令提示符启动应用程序时,不同的位置也可以更改它。
我建议您拥有一个基本目录,然后组合您的相对路径以生成绝对路径。
string baseDirectory = ...;
string myAbsolutePath = Path.Combine(baseDirectory , @"\notifications\Chairman\subjects.txt");