构建文件的完整路径,该文件位于执行程序目录内的文件夹内
Building full path to file, which is inside a folder inside the directory of the executing program
在.exe目录中,有一个名为exports
的文件夹。我有一个为目录和文件名获取参数的方法。
在这种情况下,我想将目录作为这个 exports
文件夹。以下是当前代码:
public void saveFile(string dir, string filename)
{
ExcelPackage pck = new ExcelPackage();
// creating a spreadsheet...
// now save the file
System.IO.FileInfo file = new System.IO.FileInfo(System.IO.Path.Combine(dir, filename) + ".xlsx");
pck.Save(file);
pck.Dispose();
}
// usage of the above method
saveFile(System.Reflection.Assembly.GetExecutingAssembly().Location + @"\exports", "myFileName");
这会产生异常:“不支持给定路径的格式”。如何解决?
System.Reflection.Assembly.GetExecutingAssembly().Location
给出文件或 exe 的完整路径,包括 exe 名称
如果不先删除 exe 名称,则无法在其后添加文件夹名称
尝试使用 Path.GetDirectoryName
从路径中删除文件名:
var folder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
folder = Path.Combine(folder, "exports");
在您尝试将文件写入您已构建的文件夹路径之前,Directory.CreateDirectory(folder)
始终是个好主意。如果该文件夹存在,则它是一个非操作,如果不存在,它将创建它。可以一次性创建多个子文件夹
另请记住,在 Program Files 中正确安装后,应用程序不会自动有权将文件保存到 Program Files 下的子文件夹中。当程序安装到 Program Files
时,您在此处与程序一起保存数据的代码可能会失败
在.exe目录中,有一个名为exports
的文件夹。我有一个为目录和文件名获取参数的方法。
在这种情况下,我想将目录作为这个 exports
文件夹。以下是当前代码:
public void saveFile(string dir, string filename)
{
ExcelPackage pck = new ExcelPackage();
// creating a spreadsheet...
// now save the file
System.IO.FileInfo file = new System.IO.FileInfo(System.IO.Path.Combine(dir, filename) + ".xlsx");
pck.Save(file);
pck.Dispose();
}
// usage of the above method
saveFile(System.Reflection.Assembly.GetExecutingAssembly().Location + @"\exports", "myFileName");
这会产生异常:“不支持给定路径的格式”。如何解决?
System.Reflection.Assembly.GetExecutingAssembly().Location
给出文件或 exe 的完整路径,包括 exe 名称
如果不先删除 exe 名称,则无法在其后添加文件夹名称
尝试使用 Path.GetDirectoryName
从路径中删除文件名:
var folder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
folder = Path.Combine(folder, "exports");
在您尝试将文件写入您已构建的文件夹路径之前,Directory.CreateDirectory(folder)
始终是个好主意。如果该文件夹存在,则它是一个非操作,如果不存在,它将创建它。可以一次性创建多个子文件夹
另请记住,在 Program Files 中正确安装后,应用程序不会自动有权将文件保存到 Program Files 下的子文件夹中。当程序安装到 Program Files
时,您在此处与程序一起保存数据的代码可能会失败