Csharp进阶:文件流之File类

来源:互联网 发布:苹果怎么恢复备份数据 编辑:程序博客网 时间:2024/05/19 03:44
流和文件流
大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等,在 C#中将这种通过不同输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”,程序允许通过流的方式与输入/输出设备进行数据传输。C#中的“流”都位于System.IO命名空间中,称为IO(输入/输出)流。
在计算机中,无论是文本、图片、音频还是视频,所有的文件都是以二进制(字节)形式存储的。为此,C#专门针对文件的输入/输出操作提供了一系列的流,统称为文件流。文件流是程序中最常用的流,根据数据的传输方向可将其分为输入流和输出流。
*********************************************************
路径中“@”符号表示不解析转义字符,如果没有“@”前缀就需要用“\\”替代“\”。通过前面的学习可知,“\”是一个转义字符,在程序中要表示一个“\”就需要使用“\\”。例如下面这句代码。
FileInfo aFile = new FileInfo("C:\\Data.txt");
********************************************************
流可以对文件的内容进行读写操作,而在应用程序中还可能会对文件自身进行一些操作,例如创建、删除或者重命名某个文件,判断磁盘上某个文件是否存在等。针对这些操作,C#中提供了File类和FileInfo类这两个类
***********程序集***********
Assembly表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时应用程序构造块。
LoadFile加载指定路径上的程序集文件的内容。

Assembly assem = Assembly.LoadFile(path);

File类
File 类是一个静态类,它提供了许多静态方法,用于处理文件,使用这些方法可以对文件进行创建、移动、查询和删除等操作
  string path = @"D:\FileTest\1707A\aa.txt";
  string destPath = @"D:\FileTest\1707A\aa.txt";
Test01(path);创建出来的文件为绝对路径
Test01("王垚.txt");创建出来的路径为相对路径
File.Exists(path)用来确定指定的文件是否存在
if (File.Exists(path))
            {
                Console.WriteLine("文件已经存在");
            }
            else
            {
                如果不存在则创建文件(File.Create(path)用来创建文件)
                File.Create(path);
        }
File.Move(sourcePath, destPath);将指定文件移到新位置,并提供新文件名;
File.Delete(path);删除指定的文件
  从文件读取数据的流
            FileStream fs = File.Open(path, FileMode.OpenOrCreate, FileAccess.Read);
            byte[] byteArr = new byte[4096];
            int len = 0;
            string destPath = @"D:\FileTest\1707A\Newaa.txt";
            写入文件的流
            FileStream fsWrite = File.Open(destPath, FileMode.OpenOrCreate, FileAccess.Write);
            len表示 在调用Read方法的时候  从文件中实际读取的字节数
            while ((len = fs.Read(byteArr, 0, byteArr.Length)) != 0)
            {
                fsWrite.Write(byteArr, 0, len);
          }

原创粉丝点击