標籤:system arp erb getpath 元素 efi filter 根目錄 本地
OpenFileDialog
private void btnOpenFileDialog_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = @"C:\SeeSharp\LYH"; //設定起始路徑 openFileDialog.Title = "開啟檔案"; //對話方塊標題 openFileDialog.Filter = "JXI Vector file|*.iq|實訊號|*.if"; //設定過濾器 openFileDialog.FilterIndex = 1; //預設過濾器中類型 openFileDialog.Multiselect = false; //是否允許多選 openFileDialog.RestoreDirectory = true; //再次開啟是否記住上次路徑 if (openFileDialog.ShowDialog() != DialogResult.OK) return; //開啟對話方塊,對話方塊結果不為OK則返回 if (openFileDialog.Multiselect) { textBox1.Text = ""; foreach (var item in openFileDialog.FileNames) { textBox1.AppendText(item + "\r\n"); } } else { textBox1.Text = openFileDialog.FileName; } }
SaveFileDialog
private void btnSaveFileDialog_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "開啟檔案"; //對話方塊標題 saveFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; //設定過濾器 saveFileDialog.FilterIndex = 0; //預設過濾器中類型 saveFileDialog.RestoreDirectory = true; //儲存對話方塊是否記憶上次開啟的目錄 if (saveFileDialog.ShowDialog() != DialogResult.OK) return; //開啟對話方塊,對話方塊結果不為OK則返回 textBox1.Text = saveFileDialog.FileName; }
FolderBrowserDialog
private void btnFolderBrowserDialog_Click(object sender, EventArgs e) { FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); folderBrowserDialog.SelectedPath = @"C:\SeeSharp\LYH\SeeSharpTools"; //設定預設路徑 folderBrowserDialog.Description = "請選擇一個檔案夾"; //設定提示資訊 if (folderBrowserDialog.ShowDialog() == DialogResult.OK) //開啟對話方塊 //擷取選中結果 { textBox1.Text = folderBrowserDialog.SelectedPath; } }
擷取特殊目錄
static void SpecialDirectory() { string dir; //擷取目前的目錄(即該進程從中啟動的目錄)的完全限定路徑。 dir = Environment.CurrentDirectory; //備忘 按照定義,如果該進程在本地或網路磁碟機的根目錄中啟動,則此屬性的值為磁碟機名稱後跟一個尾部反斜線(如“C:/”)。 //如果該進程在子目錄中啟動,則此屬性的值為不帶尾部反斜線的磁碟機和子目錄路徑(如“C:/mySubDirectory”)。 dir = Directory.GetCurrentDirectory(); //擷取目前的目錄的上級目錄 dir = Path.GetFullPath(".."); //案頭路徑 dir = "案頭路徑:" + Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); //ProgramData檔案夾路徑 dir = "ProgramData檔案夾路徑:" + Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); //我的文件檔案夾路徑 dir = "我的文件檔案夾路徑" + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); //獲得當前可執行檔exe檔案名稱 dir = "Process.GetCurrentProcess().MainModule.FileName:" + Process.GetCurrentProcess().MainModule.FileName; //擷取基目錄,它由程式集衝突解決程式用來探測程式集。 dir = "AppDomain.CurrentDomain.BaseDirectory:" + AppDomain.CurrentDomain.BaseDirectory; //擷取啟動了應用程式的可執行檔的路徑,不包括可執行檔的名稱。(如:D:/project/集團客戶簡訊服務端/bin/Debug) dir = "System.Windows.Forms.Application.StartupPath:" + System.Windows.Forms.Application.StartupPath; //擷取啟動了應用程式的可執行檔的路徑,包括可執行檔的名稱。 dir = "System.Windows.Forms.Application.ExecutablePath:" + System.Windows.Forms.Application.ExecutablePath; //擷取或設定包含該應用程式的目錄的名稱。 dir = "AppDomain.CurrentDomain.SetupInformation.ApplicationBase:" + AppDomain.CurrentDomain.SetupInformation.ApplicationBase; Console.ReadKey(); }
擷取目前的目錄及其父目錄
/// <summary> /// 擷取目前的目錄及目前的目錄第n級的父目錄 /// </summary> /// <param name="level">父目錄層級,大於等於0</param> /// <returns></returns> public static string CurrentDirectory(int level=0) { string str = Environment.CurrentDirectory; for (int i = 0; i < level; i++) str = str.Substring(0, str.LastIndexOf(@"\")); return str; }
擷取已知路徑中的元素
static void pth() { string dir; string filePath = "C:\\JiYF\\BenXH\\BenXHCMS.xml"; dir = "擷取檔案的全路徑:" + Path.GetFullPath(filePath);//-->C:\JiYF\BenXH\BenXHCMS.xml dir = "擷取檔案所在的目錄:" + Path.GetDirectoryName(filePath);//-->C:\JiYF\BenXH dir = "擷取檔案的名稱含有尾碼:" + Path.GetFileName(filePath);//-->BenXHCMS.xml dir = "擷取檔案的名稱沒有尾碼:" + Path.GetFileNameWithoutExtension(filePath); //-->BenXHCMS dir = "擷取路徑的尾碼副檔名稱:" + Path.GetExtension(filePath);//-->.xml dir = "擷取路徑的根目錄:" + Path.GetPathRoot(filePath);//-->C:\ Console.ReadKey(); }
檔案操作
private void FileOperations() { string sourcePath = "sourcePath"; string destpath = "destpath"; //複製檔案到目標路徑 File.Copy(sourcePath, destpath); //刪除制定檔案 File.Delete(sourcePath); //移動檔案到目標路徑【重新命名的實現方法】 //sourcePath與destpath在不同目錄下則為檔案的移動,在同一目錄下則為檔案的重新命名 File.Move(sourcePath, destpath); //開啟一個文字檔*.txt ,讀取檔案中資料,然後關閉該檔案 File.ReadAllText(sourcePath); //建立一個檔案,向其中寫入資料,如果此路徑下有同名檔案則會覆蓋 //【PS:對檔案進行寫入操作,如果路徑下有同名檔案則會進行覆蓋,所以最好進行一次判斷,跟使用者互動一下在進行覆蓋】 File.WriteAllText(sourcePath, "要寫入檔案的字串");
}
參考 https://www.cnblogs.com/Zhang-silence/p/6866722.html
C# 檔案與路徑操作