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 ...
随机推荐
- WICED™ <SMART> Software Development Kit
WICED™ Software Development Kit The WICED™ SDK includes the tools and software needed to create Wi-F ...
- .NET 4.5 is an in-place replacement for .NET 4.0
With the betas for .NET 4.5 and Visual Studio 11 and Windows 8 shipping many people will be installi ...
- Android之旅十四 android中的xml文件解析
在我们做有关android项目的时候,肯定会涉及到对xml文件的解析操作.以下给大家介绍一下xml文件的解析.包括DOM.SAX.Pull以及曾经我们用到的DOM4J和JDOM: 要解析的XML文件: ...
- [翻译] SFRoundProgressCounterView 带有进度显示的倒计时视图
SFRoundProgressCounterView 带有进度显示的倒计时视图 https://github.com/simpliflow/SFRoundProgressCounterView A c ...
- 《CUDA并行程序设计:GPU编程指南》
<CUDA并行程序设计:GPU编程指南> 基本信息 原书名:CUDA Programming:A Developer’s Guide to Parallel Computing with ...
- VB--"." 和 "!" ?
在做学生信息管理系统的时候,遇到了一条代码. txtName.Text = mrc!student_Name txtResult.Text = mrc!result 代码本身理解没有问题,给文本框添加 ...
- iOS: 首次使用App时,显示半透明新手指引
在很多的app,我们都会发现这样一个功能:就是app启动后进入主界面时,会有一个半透明的指引图,它会提示用户如何一步步进行操作,快速的熟悉app的使用规则,极大地方便了用户的使用,也加快了app的推广 ...
- 使用PowerDesigner建立数据库模型【转】
1. 打开PowerDesigner,点击File->New 2. 选择Conceptual Data Model,并修改Model name. 3. 在Palette工具栏中点击Entity ...
- XMPP键盘订制实现图文混排
在现阶段的通信服务中,各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互 ...
- mysql的日志管理
日志操作是数据库维护中最重要的手段之一,日志文件会记录MySQL服务器的各种信息,所以当MySQL服务器遭到意外损坏时,不仅可以通过日志文件来查看出错的原因,而且还可以通过日志文件进行数据恢复. MY ...