Metode berikut mencari file yang dimulai dengan jalur startup aplikasi (folder * .exe). Jika file tidak ditemukan di sana, folder induk akan dicari hingga file tersebut ditemukan atau folder root telah dicapai. null
dikembalikan jika file tidak ditemukan.
public static FileInfo FindApplicationFile(string fileName)
{
string startPath = Path.Combine(Application.StartupPath, fileName);
FileInfo file = new FileInfo(startPath);
while (!file.Exists) {
if (file.Directory.Parent == null) {
return null;
}
DirectoryInfo parentDir = file.Directory.Parent;
file = new FileInfo(Path.Combine(parentDir.FullName, file.Name));
}
return file;
}
Catatan: Application.StartupPath
biasanya digunakan di aplikasi WinForms, tetapi juga berfungsi di aplikasi konsol; Namun, Anda harus menetapkan referensi ke System.Windows.Forms
majelis. Anda dapat mengganti Application.StartupPath
dengan
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
jika Anda mau.