zoukankan      html  css  js  c++  java
  • C# 文件目录操作

    目录操作

    1.引入库

    using System.IO;
    

    2. 创建目录

    string path = "D:\testDir1\testDir2\testDir3"
    Directory.CreateDirectory(path)
    // 允许级联创建
    

    3. 删除目录

    string path = "D:\testDir1"
    Directory.Delete(path, false); // 如果目标文件夹非空,不删除 
    Directory.Delete(path, true); // 目标文件夹非空则级联删除
    

    4. 移动目录

    string path = "D:\testDir\sourceDir\sourceDir";
    
    Directory.CreateDirectory(path)
    Directory.Move(path, "D:\destDir");
    
    // D:\testDir\sourceDir\sourceDir -> // D:\destDir 
    
    // destDirName 参数指定的目标路径应为新目录,如果目标目录已存在,会导致异常。
    

    文件操作

    1. 判断文件是否存在

    if(File.Exists("D:\testfile.txt")){
        Console.WriteLine("ok!");
    }else{
        Console.WriteLine("are you kidding me ?");
    }
    

    2. 复制文件

    string test_file = "D:\testfile.txt";
    File.Copy("D:\testfile.txt", "D:\tmptestfile.txt");
    

    3. 删除文件

    File.Delete("D:\tmptestfile.txt");
    

    4. 文件属性判断

    // C#中文件的每一个属性都被一个唯一的二进制数表示
    // 以下代码判读某个路径是否为文件夹
    // 可以通过 .GetAttributes() 和 .SetAttributes() 来获取和修改属性
    if (( File.GetAttributes(path) & FileAttributes.Directory) 	== FileAttributes.Directory ) 
    {  //这个判断是如何进行的?
        Console.WriteLine("“{0}”是目录", path);
    }
    else {
        Console.WriteLine("“{0}”是文件", path);
    }
    

    5. 文件读写

    string File.ReadAllText(string path, Encoding encoding) 
    // 读取每一行,拼接为一个字符串
    
    string[] File.ReadAllLines(string path, Encoding encoding)
    //  读取每一行,返回一个字符串数组
        
    void WriteAllText(string path, string content, Encoding encoding) 
    // 将指定字符串覆盖到文件中,如果文件不存在则创建
        
    void AppendAllText(string path, string content, Encoding encoding)
    // 将指定字符串追加到文件中,如果文件不存在则创建
        
    // 相应的还有:
    
    WriteAllLines()
    AppendAllLines()
    

    6. FileStream

    using (FileStream fs = File.Open(@"C:Users13234Desktopfstest.txt", FileMode.Create))
    {
        byte[] b = Encoding.UTF8.GetBytes("你好!世界》");
        fs.Write(b, 0, b.Length);
    }
    
    using(FileStream fs = File.Open(@"C:Users13234Desktopfstest.txt", FileMode.Open))
    {
        byte[] b = new byte[1024]; // 每次读取的缓存大小
        int len = 0;
        while((len = fs.Read(b, 0, b.Length)) > 0)
        {
            Console.WriteLine(Encoding.UTF8.GetString(b, 0, len) + "
    ");
        }
    }
    
    ---- suffer now and live the rest of your life as a champion ----
  • 相关阅读:
    Docker容器Centos容器安装openssh
    DEVOPS技术实践_15:使用Docker作为Jenkins的slave
    DEVOPS技术实践_14:使用docker部署jenkins
    oracle数据库创建实例
    Java 覆写初探
    Java super和this小结
    Java 继承学习
    Java 数据表映射
    Java 单向链表学习
    Java 继承初探
  • 原文地址:https://www.cnblogs.com/popodynasty/p/14868925.html
Copyright © 2011-2022 走看看