zoukankan      html  css  js  c++  java
  • C#学习笔记(十三):I/O操作

    C#的IO操作主要是针对文件夹和文件的读取和写入操作,下面我们来学习一下相关操作的类。

    获取文件信息

    Directory和DirectoryInfo

    两个类的功能基本相同,区别如下:

    1. 前者继承System.Object,后者继承抽象类FileSystemInfo;
    2. 前者是静态类,后者是非静态类,需要new创建实例;
    3. 前者返回的类型是简单字符串,后者返回的是强类型如FileInfo;

    File和FileInfo

    区别和Directory一致,下面给出帮助文档,具体的使用方法可以查看帮助:

    https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx

    读取文件

    下面给出一个简单的读取文件的例子:

     1 using System;
     2 using System.IO;
     3 
     4 namespace Study
     5 {
     6     class Program
     7     {
     8         static void Main(string[] args)
     9         {
    10             if (!File.Exists("test.txt"))
    11             {
    12                 Console.WriteLine("文件不存在!");
    13                 Console.Read();
    14                 return;
    15             }
    16 
    17             using (StreamReader streamReader = File.OpenText("test.txt"))
    18             {
    19                 string line;
    20                 while ((line = streamReader.ReadLine()) != null)
    21                 {
    22                     Console.WriteLine(line);
    23                 }
    24                 streamReader.Close();
    25             }
    26 
    27             Console.Read();
    28         }
    29     }
    30 }

    写入文件

    下面给出一个简单的写入文件的例子:

     1 using System;
     2 using System.IO;
     3 
     4 namespace Study
     5 {
     6     class Program
     7     {
     8         static void Main(string[] args)
     9         {
    10             using (FileStream fileStream = File.Open("test.txt", FileMode.OpenOrCreate))
    11             {
    12                 TextWriter textWriter = new StreamWriter(fileStream);
    13                 textWriter.WriteLine("Hello Li Lei,");
    14                 textWriter.WriteLine("I`m Han Meimei.");
    15                 textWriter.Flush();
    16 
    17                 fileStream.Close();
    18             }
    19 
    20             Console.Read();
    21         }
    22     }
    23 }

    FileHelper

    为了简化文件的读写操作,我写了一个工具类放到我的开源工程下,有需要得朋友可以直接使用:

    https://github.com/hammerc/hammerc-framework-unity3d/blob/master/unitysource/4.x/Assets/HammercLib/Utils/FileHelper.cs

  • 相关阅读:
    Unix网络编程中的五种IO模型
    go工具库分析——go-snowflake
    defer
    滑动窗口
    快速幂
    Golang使用注意点
    微服务数据一致性基础认知
    KMP算法
    单调栈和单调队列
    LRU简单学习
  • 原文地址:https://www.cnblogs.com/hammerc/p/4616263.html
Copyright © 2011-2022 走看看