[英]Save file in specific folder
在我的Windows窗体项目中,我试图将生成的文件保存到名为“发票”的文件夹中。 我可以保存到桌面,但是如何保存到子文件夹? 我知道这是非常简单的解决方案,但是进行了一些研究,但解决方案没有运气。
PdfWriter writer = PdfWriter.GetInstance(doc,
new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + ord + ".pdf",
FileMode.Create));
您可以使用添加文件名的相同方法来添加文件夹的名称:
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Invoice\\" + ord + ".pdf", FileMode.Create));
// ^^^^^^^^^^^^
您还可以使用string.Format
组成路径,如下所示:
var pathToPdf = string.Format(
"{0}\\{1}\\{2}.pdf"
, Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
, "Invoice"
, ord
);
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pathToPdf, FileMode.Create));
将“ \\\\”替换为“ \\ Invoice \\” + ord +“ .pdf”
如果该文件夹不存在,则需要创建该文件夹,然后编写
Directory.CreateDirectory Method (String)
Creates all directories and subdirectories as specified by path.
例:
string fileName = @"C:\Users\SomeUser\My Documents\Foo\Bar\Baz\text1.txt";
Directory.CreateDirectory(Path.GetDirectoryName(fileName));
using (FileStream fs = new FileStream(fileName, FileMode.Create))
{
// ...
}
完成后,您可以像这样写入文件夹
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Invoice\\" + ord + ".pdf", FileMode.Create));
我不喜欢将所有内容都放在一行中...这就是我要做的
string myFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "MyFolder");
string filePath = Path.Combine(myFolder, ord + ".pdf");
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(filePath, FileMode.Create));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.