zoukankan      html  css  js  c++  java
  • Path类与Directory类与File类

    阅读目录

    Path路径 字符串进行操作

    获得后缀

    能合并路径

    获取文件名

    Directory和DirectoryInfo  对目录进行操作

    判断目录是否存在

    创建目录

    删除目录

    获取目录下所有的子目录

    获取目录下所有的子文件

    File和FileInfo  对文件进行操作

    读文件

    写文件

    追加文件

    判断文件是否存在

    创建文件

    删除文件

    1、Path类

     1 using System;
     2 using System.IO;//目录和文件操作的名称空间
     3 namespace _11_Path类 {
     4     class Program {
     5         static void Main(string[] args) {
     6             string path = "c:\abc\1.txt" ;
     7             //注意这里是对路径字符串的操作  而不是真正的文件 “修改”支持字符串层面的,没有真的给文件改名
     8             path = Path.ChangeExtension(path, "avi" );//ChangeExtension()修改文件后缀名1.avi   c:\abc\1.avi
     9             //将两个路径合成一个路径,比用+好,可以方便解决是不是加斜线的问题,自动处理路径分隔符的问题
    10             path = Path.Combine("c:\abc\def\" , "1.jpg"); //c:abcdef1.jpg
    11             //得到文件所在文件夹的位置 同样是从字符串的角度去处理
    12             path = Path.GetDirectoryName(path);//c:abc
    13             path = Path.GetExtension(path);//扩展名 .txt
    14             path = Path.GetFileName(path);//文件名.后缀名 1.txt
    15             path = Path.GetFileNameWithoutExtension(path);//不含后缀的文件名 1
    16             path = Path.GetFullPath("11-Path类.exe" );//文件全路径(相对文件的全路径 一般也不用此方法) F:PIZIYIMAO11-Path类inDebug11-Path类.exe
    17             path = Path.GetTempFileName();//临时文件夹保存路径  自动创建文件 C:Documents and SettingsPIZIYIMAOLocal SettingsTemp	mp5E.tmp
    18             path = Path.GetTempPath();//获取临时文件夹保存路径 C:Documents and SettingsPIZIYIMAOLocal SettingsTemp
    19             Console.WriteLine(path);
    20             Console.Read();
    21         }
    22     }
    23 }

    2、操作目录类 Directory与DirectoryInfo

     1 using System;
     2 using System.IO;
     3 namespace _12_Directory {
     4     class Program {
     5         static void Main( string[] args) {
     6             DirectoryInfo dic = new DirectoryInfo( "c:\abc" );
     7             //dic.Name; //获取文件名
     8             //dic.FullName; //获取文件全路径  功能要比Directory强大 区别在于它是实例类 而后者是静态类
     9             Directory .CreateDirectory("c:\abc" ); //创建文件夹
    10             Directory .CreateDirectory("c:\abc\1\2\3\4\5\6\7" ); //连续创建多级文件夹
    11             if (Directory .Exists( "c:\abc")) //判断是否存在文件夹
    12             {
    13                 Directory .Delete("c:\abc" ); //如果存在则删除 如果文件夹为空能正常删除 不为空则会报错 "目录不是空的"
    14                 Directory .Delete("c:\abc" , true); //true则指定 如果文件夹不为空 同样执行删除操作
    15             }
    16             string [] paths = Directory .GetDirectories( "c:\abc"); //获取目录中所有子目录名称 注意只取下一级别 即c:abc1 如获取windows文件夹下所有文件夹路径可以使用此方法
    17             string [] paths2 = Directory .GetDirectories( "c:\windows", "$*" );//以上方法重载实现  检索以$开头的文件
    18             string [] paths3 = Directory .GetDirectories( "c:\abc", "*" , SearchOption .AllDirectories);//通配符查找文件夹中符合条件的文件 包括子级文件夹
    19             foreach (string path in paths) {
    20                 Console .WriteLine(path);
    21             }
    22             string [] files = Directory .GetFiles( "c:\windows"); //遍历文件夹下的所有文件
    23             string [] files2 = Directory .GetFiles( "c:\windows", "*.ini" , SearchOption .AllDirectories);//通配符查找目录下的文件 用法类似于GetDirectories
    24             foreach (string file in files2) {
    25                 Console .WriteLine(file);
    26             }
    27             //目录操作最重要的就是 GetFiles和GetDirectories方法
    28             Directory .GetParent("c:\abc\1\2\3\4\5\6\7" ); //返回7文件夹的父级目录 c:abc123456
    29             Console .Read();
    30         }
    31     }
    32 }

    3、文件类File

    using System;
    using System.IO;
    using System.Text;
    namespace _13_File {
        class Program {
            static void Main( string[] args) {
                //file静态类 使用file类时需要注意文件默认编码的使用  如果编码不正确  文件中会显示乱码
                File .AppendAllText("c:\1.txt" , "gb1232"); //向c:\1.txt文件中追加 内容“gb2312”
                //如果存在写入文件
                if (File .Exists( "c:\1.txt")) {
                    File .WriteAllText("c:\1.txt" , "写入中文有时会出现乱码 需要使用第三个参数 指定Encoding文件的编码格式 Default为默认格式" ,Encoding .Default);//WriteAllText是彻底的覆盖 而AppendAllText是追加
                }
                //File.ReadAllText();//读取文件不再列举  以下方法查看文档不再举例
                //string[] ReadAllLines(string path) //读取文本文件到字符串数组中
                //string ReadAllText(string path) //读取文本文件到字符串中
                //WriteAllLines(string path,string[] contents),//将字符串数组逐行保存到文件path中,会覆盖旧内容。
                FileInfo fi = new FileInfo( "c:\2.txt" );//实例化的类  功能比file要强大
                fi.AppendText(); //它有很多的方法 和属性 自己查看 文档
                Console .Read();
            }
        }
    }

    C#开发:openfiledialog的使用

     1 C#开发:openfiledialog的使用
     2 文件对话框(FileDialog)
     3 
     4   一、打开文件对话框(OpenFileDialog)
     5 
     6   1、 OpenFileDialog控件有以下基本属性
     7 
     8 
     9 InitialDirectory 对话框的初始目录
    10 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
    11 FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
    12 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
    13 FileName 第一个在对话框中显示的文件或最后一个选取的文件
    14 Title 将显示在对话框标题栏中的字符
    15 AddExtension 是否自动添加默认扩展名
    16 CheckPathExists
    17 在对话框返回之前,检查指定路径是否存在
    18 DefaultExt 默认扩展名
    19 DereferenceLinks 在从对话框返回前是否取消引用快捷方式
    20 ShowHelp
    21 启用"帮助"按钮
    22 ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列
    23 
    24   2、 OpenFileDialog控件有以下常用事件
    25 
    26 
    27 FileOk 当用户点击"打开""保存"按钮时要处理的事件
    28 HelpRequest 当用户点击"帮助"按钮时要处理的事件
    29 
    30   
    31 
    32   可以用以下代码来实现上面这个对话框:
    33 
    34 
    35 private void openFileDialogBTN_Click(object sender, System.EventArgs e){
    36 OpenFileDialog openFileDialog=new OpenFileDialog();
    37 openFileDialog.InitialDirectory="c:\";//注意这里写路径时要用c:\而不是c:
    38 openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
    39 openFileDialog.RestoreDirectory=true;
    40 openFileDialog.FilterIndex=1;
    41 if (openFileDialog.ShowDialog()==DialogResult.OK)
    42 {
    43 fName=openFileDialog.FileName;
    44 File fileOpen=new File(fName);
    45 isFileHaveName=true;
    46 richTextBox1.Text=fileOpen.ReadFile();
    47 richTextBox1.AppendText("");
    48 }
    49 }
    50 
    51   路径的返回用filename是字符串类型
    52 
    53 如:openFileDialog1.ShowDialog();
    54             _name1= openFileDialog1.FileName;
    55             Image imge = Image.FromFile(_name1);
  • 相关阅读:
    Mysql之正则匹配
    定时任务之elastic-job概述
    清晰讲解LSB、MSB和大小端模式及网络字节序
    极光消息推送多环境配置
    基于TSUNG对MQTT进行压力测试-测试结果
    基于TSUNG对MQTT进行压力测试-基础概念温习
    阻塞式/非阻塞式与同步/异步的区别
    干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
    jar包
    java环境变量及Eclipse自动编译问题
  • 原文地址:https://www.cnblogs.com/Jacklovely/p/5668719.html
Copyright © 2011-2022 走看看