簡體   English   中英

將文件保存在特定的文件夾中

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

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM