C# 文件与路径操作
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# 文件与路径操作的更多相关文章
- .net持续集成cake篇之常见文件及路径操作
系列目录 Cake常见文件和路径操作 在自动化构建任务里,很多操作都是跟文件打交道,比如文件打包,文件压缩,文件归档,文件传输,目录清理等.本节介绍一些cake里常见的文件操作方法 Cake相对路径问 ...
- python 文件和路径操作函数小结
1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk( ...
- OC NSFileManager(文件路径操作)
OC NSFileManager(文件路径操作) 初始化 NSFileManager * fm = [NSFileManager defaultManager]; 获取当前目录 [fm current ...
- C#文件路径操作总结【转】
http://www.cnblogs.com/zhoufoxcn/archive/2006/10/24/2515874.html 一.获取当前文件的路径 1. System.Diagnostics ...
- 使用 ProcessMonitor 找到进程所操作的文件的路径
原文:使用 ProcessMonitor 找到进程所操作的文件的路径 很多系统问题都是可以修的,不需要重装系统,但是最近我还是重装了.发现之前正在玩的一款游戏的存档没有了--因为我原有系统的数据并没有 ...
- Go path/filepath文件路径操作
本文:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter06/06.2.html path:htt ...
- C#文件路径操作总结
一.获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括 ...
- day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期
复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集 ...
- java文件操作 之 创建文件夹路径和新文件
一:问题 (1)java 的如果文件夹路径不存在,先创建: (2)如果文件名 的文件不存在,先创建再读写;存在的话直接追加写,关键字true表示追加 (3)File myPath = new File ...
随机推荐
- @ResponseBody,@RequestBody,@PathVariable
最近需要做些接口服务,服务协议定为JSON,为了整合在Spring中,一开始确实费了很大的劲,经朋友提醒才发现,SpringMVC已经强悍到如此地步,佩服! 相关参考: Spring 注解学习手札(一 ...
- TortoiseSVN解决冲突
解决冲突Resolving Conflicts有时候,你从仓库更新文件时会发生一些冲突.当两个或更多开发人员对同一个文件的某几行做 了修改,就会产生冲突.因为Subversion对你的项目一无所知,他 ...
- android开发:退出程序(对话框、两次返回键退出)
private void exitDialog() { AlertDialog.Builder aa=new AlertDialog.Builder(this); aa.setTitle(" ...
- Jolokia
Jolokia 是一个用来访问远程 JMX MBeans 的崭新方法,与 JSR-160 连接器不同的是,它使用基于 HTTP 的 JSON 格式作为通讯协议,提供 JMX 批量操作等.需要第三方ja ...
- [Android 新特性] 改进明显 Android 4.4系统新特性解析
Android 4.3发布半年之后,Android 4.4随着新一代Nexus5一起出现在了用户的面前,命名为从之前的Jelly Bean(果冻豆)换成了KitKat(奇巧).这个新系统究竟都有怎样的 ...
- Android系统信息获取
在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传 Build.BOA ...
- Orchard运用 - 学习资源分享
这段时间研究Orchard,看到一些资源十分有用. 比如国内还是有些牛人在分享心得,在此也广播一下给新手: JustRun对Orchard的一些代码分析 Orchard源码分析 Orchard中文社区 ...
- 如何获得Windows Server 2012上的FC的WWN
我有一个测试环境, 一对Host与storage array之间既有iSCSI的连接, 也有FC的连接. 原来iSCSI的连接是OK的, 现在需要转用FC. 当在光纤交换机上划好了Zone之后, st ...
- 模拟jQuery中的ready方法及实现按需加载css,js实例代码
这篇文章介绍了模拟jQuery中的ready方法及实现按需加载css,js实例代码,有需要的朋友可以参考一下 一.ready函数的实现经常用jQuery类库或其他类库中的ready方法,有时候 ...
- MapReduce性能调优记录
MapReduce原理 要知道怎么对MapReduce作业进行调优前提条件是需要对Map-Reduce的过程了然于胸. Map-Reduce运行原理图: Map Side 1.从磁盘读取数据并分片 默 ...