• C#各种文件操作的代码与注释


    C#各种文件操作的代码与注释,具体看下面代码:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    namespace Example

    {
    class Program
    {
    static void Main(string[] args)
    {

    //////////////// 文件打开 下面的代码打开D:wang.txt文件,并且向文件中写入"hello"

    FileStream textFile = File.Open(@"D:wang.txt", FileMode.Append);//以Append方式打开文件(如果不存在,会创建)

    byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要写入的信息

    textFile.Write(info, 0, info.Length);//Write方法只能写入byte数组

    textFile.Close();//关闭文件流

    ////////////////////// 文件创建

    FileStream newText = File.Create(@"D: ewText.txt");//创建文件

    newText.Close();//关闭文件
    //////////////////// 删除文件
    File.Delete(@"d: ewText.txt");
    ////////////////// 文件复制 如果目标文件存在,不允许复制(就是不能覆盖同名文件)
    //File.Copy(@"d:wang.txt", @"d:CopyWang.txt");

    //////////////// 文件移动 只能在同一个盘中移动 如果目标路径不正确,不能移动

    // File.Move(@"d:CopyWang.txt", @"D:Amovewang.txt");
    //////////////////////// 设置文件属性为 只读,隐藏

    //File.SetAttributes(@"D:copywang.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);//同时满足多个属性,必须用位或(|).

    /////////////// 判断文件是不是存在

    if (File.Exists(@"D:copywang.txt"))//如果存在 即便是隐藏的文件也可以找到
    {
    File.SetAttributes(@"D:copywang.txt", FileAttributes.ReadOnly);//重新设置属性后,隐藏的文件也会显示出来,只要不加Hidden属性
    Console.WriteLine("找到文件copywang.txt");
    }
    else
    {
    Console.WriteLine("没有找到文件CopyWang.txt");
    }
    /*

    此外,File类对于Text文本提供了更多的支持。
       ?AppendText:将文本追加到现有文件
       ?CreateText:为写入文本创建或打开新文件
       ?OpenText:打开现有文本文件以进行读取
       但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。
       ?对txt文件进行“读”操作,示例代码如下:

    */
    StreamReader textReader = new StreamReader(@"D:wang.txt", System.Text.Encoding.Default);//以默认编码方式打开文件
    string str = textReader.ReadToEnd();//读取文件
    Console.WriteLine("使用StreamReader读取文本内容:" + str);
    textReader.Close();
    //////////////////对txt文件写内容
    StreamWriter textWriter = new StreamWriter(@"D:wang.txt");
    str = "Learn .Net";
    textWriter.Write(str);
    textWriter.Close();
    /*
    System.IO.Directory类和System.DirectoryInfo类
       主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。
    */

    Directory.CreateDirectory(@"D:wang1wang");//创建目录(文件夹)如果已经存在,则保持;还可以一次创建多级目录
    /////////////////////////////////目录属性设置方法
    DirectoryInfo dirInfo = new DirectoryInfo(@"D:wang1wang");//
    dirInfo.Attributes = FileAttributes.Hidden;// | FileAttributes.ReadOnly;//设置文件夹属性
    /////////////////Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。
    //如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。
    //Directory.Delete(@"D:wang1", true);//如果文件设置为ReadOnly,则不能删除
    //Directory.Move(@"d:wang1", @"d:wang3");//把文件夹wang1移动到文件夹wang3中,相当于把wang1删除,创建一个wang3,再把内容移动到wang3
    string[] Directories = Directory.GetDirectories(@"D:wang3");//获得文件夹wang3的目录
    foreach (string var in Directories)
    Console.WriteLine(var);
    string[] Files = Directory.GetFiles(@"D:wang1");//获取文件夹wang1下面的所有文件
    foreach (string var in Files)
    Console.WriteLine(var);
    if (Directory.Exists(@"D:wang1"))
    Console.WriteLine("文件夹wang1存在");
    /*

    在C#中 “”是特殊字符,要表示它的话需要使用“\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“”。
    所以上面的路径在C#中应该表示为“Book”,@“TmpBook”,@“C:TmpBook”。
    */
    Console.ReadLine();
    }
    }
    }

    佛为心,道为骨,儒为表,大度看世界; 技在手,能在身,思在脑,从容过生活; 三千年读史,不外功名利禄; 九万里悟道,终归诗酒田园;
  • 相关阅读:
    C#基础系列——一场风花雪月的邂逅:接口和抽象类
    C#进阶系列——动态Lamada(二:优化)
    C#进阶系列——动态Lamada
    JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
    JS组件系列——Bootstrap Table 表格行拖拽
    C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建
    C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
    C#进阶系列——DDD领域驱动设计初探(六):领域服务
    C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
    C#进阶系列——DDD领域驱动设计初探(四):WCF搭建
  • 原文地址:https://www.cnblogs.com/taofx/p/4137307.html
Copyright © 2020-2023  润新知