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

文件操作

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 

原文地址:https://www.cnblogs.com/lyh523329053/p/9215130.html

时间: 2024-08-03 21:42:07

C# 文件与路径操作的相关文章

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

系列目录 Cake常见文件和路径操作 在自动化构建任务里,很多操作都是跟文件打交道,比如文件打包,文件压缩,文件归档,文件传输,目录清理等.本节介绍一些cake里常见的文件操作方法 Cake相对路径问题 做过自动化的同学可能都知道,使用相对路径时,脚本在测试时的相对路径往往和正式环境中不一样,宿主环境的路径往往最终导致明明测试好的脚本最终却出现各种路径问题.但是如果把路径写成绝对路径往往又造成脚本通用性不强,每迁移到一个新项目就需要重新修改脚本文件,对脚本的修改往往意味着导致脚本出错的风险.而C

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

1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk(path,visit,arg) path :是将要遍历的目录 visit :是一个函数指针,函数圆形为: callback(arg,dir,fileList) 其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list, arg:传给v

文件操作,路径操作,StringIO和BytesIO,序列化反序列化,正则表达式与python中使用

文件操作 打开操作open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True,opener=None)打开一个文件,返回一个文件对象(流对象)和文件描述符.打开文件失败,则返回异常基本使用: 创建一个文件test,然后打开它,用完关闭文件操作中,最常用的操作就是读和写. 文件访问的模式有两种:文本模式和二进制模式.不同模式下,操作函数不尽相同,表现的结果也不一样.open的参数

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

一:问题 java 的如果文件夹路径不存在,先创建:如果文件名 的文件不存在,先创建再读写;存在的话直接追加写,关键字true表示追加 二:代码实现 package edu.tju.cs; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; public c

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

http://www.cnblogs.com/zhoufoxcn/archive/2006/10/24/2515874.html 一.获取当前文件的路径 1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径,包括文件名.2.   System.Environment.CurrentDirectory     获取和设置当前目录(该进程从中启动的目录)的完全限定目录.3.   Sy

Go path/filepath文件路径操作

本文:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter06/06.2.html path:https://www.php.cn/manual/view/35279.html filepath:https://www.php.cn/manual/view/35280.html path/filepath — 兼容操作系统的文件路径操作 path/filepath 包涉及到路径操作时,路径分隔符使

五.Python文件IO和路径操作

目录 Python文件IO操作 上下文管理with 路径操作 01 Python文件IO操作: clumn column open 打开 read 读取 write 写入 close 关闭 readline 行读取 readlines 多行读取 seek 文件指针操作 tell 指针位置 打开文件 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=No

文件路径操作

getcwd()函数 返回当前目录 D:\developspace __FILE__    返回当前文件完整路径 D:\developspace\json.php dirname(dirname(__FILE__));得到的是文件上一层目录名 D:\dirname(__FILE__);得到的是文件所在层目录名 D:\developspace  等价于 getcwd()函数 basename(path,suffix) 返回路径中的文件名部分 suffix 可选.规定文件扩展名.如果文件有 suff

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu