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. Process ID, Process handle, Window handle

    http://forums.codeguru.com/showthread.php?392273-RESOLVED-How-to-get-window-s-HWND-from-it-s-process ...

  2. Struts2 @ResultPath注释示例

    在Struts 2中, @ResultPath 注解用于控制Struts2找到存储的结果或JSP页面.默认情况下,它会找到结果页在 “WEB-INF/content/” 文件夹. 不知道为什么在Str ...

  3. 一些值得学习的Unity教程 (很实用的包括源码)

    ***********************项目源码******************************** 1. 降临 2. 沉睡缤纷乐 3. 千炮捕鱼 4. Photon官方FSP示例 ...

  4. sql 循环插入某一条数据

    declare @i int set @i=1 while @i<(10000)begin INSERT INTO [Table]( [IDi] ,[IDo] ,[Synci] ) ( SELE ...

  5. trident介绍

    (一)理论基础 很多其它理论以后再补充,或者參考书籍 1.trident是什么? Trident is a high-level abstraction for doing realtime comp ...

  6. Android -- 使用主题配置文件,去掉程序启动界面的短暂黑屏

    关于黑屏 默认的情况下,程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据等. 去除步骤 1./res/values/styles.xml 在 Theme ...

  7. Sqlserver 中添加数据库登陆账号并授予数据库所有者权限

    Sqlserver 中添加数据库登陆账号并授予数据库所有者权限 USE master GO --通过sp_addlogin创建登录名 --DEMO:登陆账号 --123456:登陆密码 ' --切换数 ...

  8. 零java基础搞定微信Server

    自从打通了微信client到BLE设备端的通道.我的工作就转移到了server端了.微信的BlueDemoServer是以java编写,而本尊仅仅懂得嵌入式,对JavaWeb一窍不通. 本尊贵为IOT ...

  9. Vue中使用节流Lodash throttle

    在Vue中,有时需要对ajax请求提交进行节流操作.这时候,如果页面在请求成功之后会跳转,使用vue指令once或者加载一个loading遮罩禁止点击即可,但如果请求之后不跳转,并且loading不适 ...

  10. Jquery—Jquery中的(function($){...})(jQuery)

    当你第一眼看到"(function($){...})(jQuery)"的时候.你有什么感觉?呵呵呵,我当时还是止不住的从心底里骂了一句--操,这他妈什么劳什子.时过境迁,对于如今无 ...