zoukankan      html  css  js  c++  java
  • C# 文件流

    文件流

    • Stream 类

      • 按存取位置分

        • FileStream, MemoryStream, BufferedStream

    • 读写类

      • BinaryReader和BinaryWriter

      • TextReader和TextWriter

        • StreamReader和StreamWriter

        • StringReader和StringWriter

    • 其他系

      • FileStream fs = new FileStream(@"c: c", FileMode.Create);

      • StreamWriter writer = new StreamWriter(fs);

    文件及文件夹管理

    • 对文件和文件夹操作的类

      • FileInfo 具体的文件

      • File 提供static方法

      • DirectoryInfo 具体的文件夹

      • Directory 提供static方法

      • FileSystemInfo

        • 是FileInfo及DirectoryInfo的父类

      • Path 文件路径类(路径拆分和查找)

    显示文件及文件夹的信息

    • 建立对象

      • new FileInfo(文件无聊路径)

    • 常用属性

    实例 - 搜索文件夹下的文件ListAllFiles.cs

    class Program
    {
            static void Main(string[] args) {
                ListFiles(new DirectoryInfo(@"F:download"));
            }
    
            public static void ListFiles(FileSystemInfo info) {
                if (!info.Exists) return;
    
                //info当成一个为DirectoryInfo,如果不成功则当成null
                DirectoryInfo dir = info as DirectoryInfo;
                if (dir == null) return;  //不是目录
    
                FileSystemInfo[] files = dir.GetFileSystemInfos();
                for (int i = 0; i < files.Length; i++) {
                    FileInfo file = files[i] as FileInfo;
                    if (file != null) {  //是文件
                        Console.WriteLine(
                            file.FullName + "	" + file.Length);
                    } else {
                        ListFiles(files[i]);  //对于子目录,进行递归调用
                    }
                }
    
            }
    
    }

     实例2:文件监视watcher.cs

        class Program
        {
            static void Main(string[] args) {
             const string path = @"G:Dev-Cpp代码大全OS实验";
    
                FileSystemWatcher watcher = new FileSystemWatcher();
                watcher.Path = path;
                watcher.Filter = "*.cpp";
    
                watcher.NotifyFilter = NotifyFilters.LastAccess |
                    NotifyFilters.LastWrite | NotifyFilters.FileName |
                    NotifyFilters.DirectoryName;
    
                //事件处理函数
                watcher.Changed += new FileSystemEventHandler(onChanged);
                watcher.Created += new FileSystemEventHandler(onChanged);
                watcher.Deleted += new FileSystemEventHandler(onChanged);
                watcher.Renamed += new RenamedEventHandler(OnRenamed);
    
                //开启监视
                watcher.EnableRaisingEvents = true;
                
                //等待用户输入q才结束程序
                Console.WriteLine("Press 'q' to quit the sample.");
                while (Console.Read() != 'q') ;
            }
    
            //事件处理函数
            public static void onChanged(object source, FileSystemEventArgs e) {
                //显示哪些文件做了哪些修改
                Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
            }
    
            public static void OnRenamed(object source, RenamedEventArgs e) {
                //显示被更改的文件名
                Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
            }
    
        }

    //在目录下新建一个文件即能在程序显示对 .cpp文件进行的操作类型

  • 相关阅读:
    Fixed Function Shader
    sqlserver 2014 数据库作业 通过脚本创建注意事项
    块存储、文件存储、对象存储意义及差异
    程序员如何成为架构师
    那些编程水平很高的程序员是怎么练成的?
    在ASP.NET Core调用WebService
    .net core 调用webservice同步方法
    Sqlserver中如何创建链接服务器
    JWT实现鉴权
    JWT原理实现代码
  • 原文地址:https://www.cnblogs.com/douzujun/p/6731518.html
Copyright © 2011-2022 走看看