Maison  >  Article  >  développement back-end  >  c#的FileStream文件流

c#的FileStream文件流

黄舟
黄舟original
2016-12-27 14:03:372611parcourir

文件流

FileStream、StreamReader和StreamWriter可以操作大文件;
FileStream 操作字节;可以操作任何类型的文件;
StreamReader和StreamWriter操作字符;

FileStream

方法名                           作用                  参数

FileStream()    创建FileStream对象      第一个是路径,第二个是文件模式FIleMode枚举,第三个数据模式FileAcess    

Read()    分部分读取文件,返回实际读到的有效字节数,如果读得数量不是第三个参数指定的,就用空填充    第一个是存放的字节数组,表示从哪个地方往数组里放数组?,每次最多读多少    

Write()    把字节数组写入    第一个参数是字节数组,第二个参数表示从哪个地方开始写入,第三个参数表述最多写多少    

close(),dispose()    关闭流,释放流所占用的资源    

FileMode OpenOrCreate , Append
FileAcess. Read 、Write、ReadWirte

将创建文件流对象的过程写在using当中,会自动帮助我们释放资源;

StreamReader和StreamWriter

可以用来读取格式化文本文件;
有ReadLine和Write WriteLine方法

<code class="language-C# hljs cs">using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace 用FileStream读写文件
{
    class Program
    {
        static void Main(string[] args)
        {
            String str = @"E:\下载\软件";
            Stopwatch sw = new Stopwatch();
            sw.Start();
            using (FileStream fsWriter = new FileStream(str + @"\opencv-3.0.exe", FileMode.Create, FileAccess.Write))
            {
 
                using (FileStream fsReader = new FileStream(str + @"\opencv-2.4.9.exe", FileMode.Open, FileAccess.Read))
                {
                    byte[] bytes=new byte[1024*4];//4kB是合适的;
                    int readNum;
                    while((readNum=fsReader.Read(bytes,0,bytes.Length))!=0)//小于说明读完了
                    {
                        fsWriter.Write(bytes,0,readNum);
                    }
 
 
                }//suing reader
            }//using writer
            sw.Stop();
            Console.WriteLine("总的运行时间为{0}",sw.ElapsedMilliseconds);
            Console.ReadKey();
 
        }//main
    }//class
}
</code>

 以上就是c#的FileStream文件流的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:C# 杀掉后台进程Article suivant:c#中的结构与枚举