[英]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.