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. 谈谈SQL server的 worker threads-----微软亚太区数据库技术支持组 官方博客

    https://blogs.msdn.microsoft.com/apgcdsd/2012/11/27/sql-server-worker-threads/

  2. jdbc preparestatement和preparestatement区别

    1.preparestatement预编译,预编译指的是DB的编译器,会对此sql语句提前编译.然后将预编译的结果缓存到数据库中,下次执行时替换参数直接执行编译过的语句. 记住:数据库也是有编译器的, ...

  3. 用百度SDK获取地理位置和天气信息

    以下实现通过百度SDK获取地理位置和天气信息,请參考title=android-locsdk/guide/v5-0">百度开发文档 1. 在相关下载最新的库文件.将so文件的压缩文件解 ...

  4. android用jsonReader来解析json

    对于这个json: { "id" : "3232", "data" : [{ "data1" : "555&q ...

  5. C/C++下scanf的%匹配以及过滤字符串问题

    最近在写一个测试的小程序,由于用到了sscanf函数对字符串进行标准读入,而sscanf在很多方面都与scanf比较相像,于是对scanf进行了一番测试,遇到了一系列基础性的问题,恶补基础的同时也体现 ...

  6. 根据不同浏览器使用不同的css文件

    代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  7. FatSecret Platform API

    在现阶段饮食类的APP发展的非常迅猛,尤其在校园中,学生只需要凭借一个手机就能买到自己想要的食物,真正做到了足不出户.可是如果我们想独立完成一个app就需要有相应的数据支持,这里给大家介绍一个国外的开 ...

  8. idea maven 报-source 1.5 中不支持 diamond 运算符

    需要修改 project setting 中的

  9. 语音信号处理之(一)动态时间规整(DTW)

    语音信号处理之(一)动态时间规整(DTW) zouxy09@qq.com 原文:http://blog.csdn.net/zouxy09 这学期有<语音信号处理>这门课,快考试了,所以也要 ...

  10. (剑指Offer)面试题7:用两个栈实现队列

    题目: 用两个栈实现一个队列. 队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能. 思路: 根据栈的“先进后出”特点, ...