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 = ; //默认过滤器中类型
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 = ; //默认过滤器中类型
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=)
{
string str = Environment.CurrentDirectory;
for (int i = ; i < level; i++)
str = str.Substring(, 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();
}

获取指定路径下的文件与子目录

static void Main(string[] args)
{
// 获取目标目录信息
string selectedDir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); ;
Console.WriteLine("Open : " + selectedDir+"\n");
DirectoryInfo root = new DirectoryInfo(selectedDir); // 从目标目录信息中获取目录中文件信息
FileInfo[] fileInfo = root.GetFiles("*.txt");
Console.WriteLine("*.txt file list start...");
foreach (var file in fileInfo)
{
Console.WriteLine("new txt file:" + file.FullName);
} // 从目标目录信息中获取子目录信息
Console.WriteLine("\r\n\r\n sub dir list start...");
DirectoryInfo[] subDirList = root.GetDirectories();
foreach (var subDir in subDirList)
{
Console.WriteLine("find sub dir:" + subDir.FullName);
} Console.WriteLine("\nDone...");
Console.Read();
}

代码运行结果如下

文件操作

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# 文件与路径操作的更多相关文章

  1. .net持续集成cake篇之常见文件及路径操作

    系列目录 Cake常见文件和路径操作 在自动化构建任务里,很多操作都是跟文件打交道,比如文件打包,文件压缩,文件归档,文件传输,目录清理等.本节介绍一些cake里常见的文件操作方法 Cake相对路径问 ...

  2. python 文件和路径操作函数小结

    1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...

  3. OC NSFileManager(文件路径操作)

    OC NSFileManager(文件路径操作) 初始化 NSFileManager * fm = [NSFileManager defaultManager]; 获取当前目录 [fm current ...

  4. C#文件路径操作总结【转】

    http://www.cnblogs.com/zhoufoxcn/archive/2006/10/24/2515874.html 一.获取当前文件的路径 1.   System.Diagnostics ...

  5. 使用 ProcessMonitor 找到进程所操作的文件的路径

    原文:使用 ProcessMonitor 找到进程所操作的文件的路径 很多系统问题都是可以修的,不需要重装系统,但是最近我还是重装了.发现之前正在玩的一款游戏的存档没有了--因为我原有系统的数据并没有 ...

  6. Go path/filepath文件路径操作

    本文:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter06/06.2.html path:htt ...

  7. C#文件路径操作总结

    一.获取当前文件的路径 1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径,包括 ...

  8. day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期

    复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集 ...

  9. java文件操作 之 创建文件夹路径和新文件

    一:问题 (1)java 的如果文件夹路径不存在,先创建: (2)如果文件名 的文件不存在,先创建再读写;存在的话直接追加写,关键字true表示追加 (3)File myPath = new File ...

随机推荐

  1. JLInk 各种版本图片收集

    所有图片来自网络, 版权归原始所有者拥有. JLink V5 JLink V6 JLink V7 JLink V8 JLink V9 JLink Ultra JLink Pro

  2. DLL Dynamic-Link Library Search Order

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx A system can contain ...

  3. CMSIS-SVD Reference

    http://www.keil.com/pack/doc/cmsis/svd/html/modules.html SVD File Schema Levels Device Level Periphe ...

  4. java反射机制简单介绍

    1.字节码.所谓的字节码就是当java虚拟机载入某个类的对象时,首先须要将硬盘中该类的源码编译成class文件的二进制代码(字节码),然后将class文件的字节码载入到内存中,之后再创建该类的对象 2 ...

  5. HDU 5288 OO&#39;s sequence (2015多校第一场 二分查找)

    OO's Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  6. <%@ include> <jsp:include>

    1. <%@ include file=”relativeURI” %> 这个效果是将引入的文件内容直接加入当前JSP然后再编译,会造成的问题就是如果引入的页面中也写了head,conte ...

  7. 非归档数据文件offline的恢复

    本文主要介绍非归档模式下offline数据文件的恢复,测试过程如下: SQL> select * from v$version where rownum<3; BANNER ------- ...

  8. Linux0.11内核剖析--内核代码(kernel)--sched.c

    1.概述 linux/kernel/目录下共包括 10 个 C 语言文件和 2 个汇编语言文件以及一个 kernel 下编译文件的管理配置文件 Makefile.其中三个子目录中代码注释的将放在后面的 ...

  9. 【pyhon】nvshens图片批量下载爬虫

    代码: # nvshens图片批量下载爬虫 from bs4 import BeautifulSoup import requests import time import urllib.reques ...

  10. PHP快速入门 如何操作MySQL

    1 创建一个新的数据库,注意类型设置为utf8_general_ci 2 在数据库中创建一个新的表,比如叫做tg_user(先从左侧选择刚才创建的数据库) 3 创建第一个字段,自动编号.我们估计网站的 ...