zoukankan      html  css  js  c++  java
  • 文件操作:Directory,File,FielStream、StreamRead和StreamWriter的使用

    Directory文件类,File,FielStream、StreamRead和StreamWriter的使用

    (转载)

     
    创建一个新文件
        Directory.CreateDirectory(@"C: UsersenleDesktop
    ew");//路径
    删除一个文件
        Directory.Delete(@"C: UsersenleDesktop
    ew", true);
    剪切一个文件      
         Directory.Move(@"C:UsersenleDesktop
    ew", @"C:UsersenleDesktop
    ew1");
    读取文件所有文件的全路径         
        string[] path = Directory.GetFiles(@"C:UsersenleDesktop2", "*.pdf");//"*.pdf" 对读取文件的格式,进行限定
                for (int i = 0; i < path.Length; i++)
                {
                    Console.WriteLine(path[i]);
                } 
    文件夹的路径
     string[] path = Directory.GetDirectories(@"C:UsersenleDesktop2");
    
                for (int i = 0; i < path.Length; i++)
                {
                    Console.WriteLine(path[i]);
                }
               Console.ReadKey()
    创建文件夹
        if (Directory .Exists (@"C:UsersenleDesktop
    ew1"))
                {
                    for (int i = 0; i < 100; i++)
                    {
                        Directory.CreateDirectory(@"C: UsersenleDesktop
    ew1" + i);
                      
                    }
    }

    //读取文本文件

                // FileMode.OpenOrCreate你针对文件进行一个什么操作
                //FileAccess .Read 文件数据参数
                //1.创建FileStream对象
                FileStream fileRead = new FileStream(@"C:UserswbrmDesktop新建文本文档.txt", FileMode.OpenOrCreate, FileAccess.Read);
                byte[] buffer = new byte[1024 * 1024 * 5];
                int r = fileRead.Read(buffer, 0, buffer.Length);   // 0表示从那个字节读取数据   // buffer.Length 读取的大小
                //将字节数组中的每一个元素安照知道的编码格式解码成字符串
                string s = Encoding.Default.GetString(buffer, 0, r);
                fileRead.Close();   // //关闭流     
                fileRead.Dispose(); // //释放流所占用的资源      
     写入文本文件
                //写入的编码格式和读的编码格式必须一样
                //将创建的文件流对象的过程在Using当中,会自动的帮助我们释放所占用的空间
                using (FileStream fswrite = new FileStream(@"C:UserswbrmDesktop新建文本文档 (2).txt", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    string str = "看我有没有把你覆盖掉";
                    byte[] buffer = Encoding.Default.GetBytes(str);//转换成字节数组
                    fswrite.Write(buffer, 0, buffer.Length);
                }

    使用文件流实现多媒体文件文件的复制

    static void Main(string[] args)
            {
                //思路:先将要复制的多媒体文件读取出来然后在再写到你的指定位置
                string courece = @"C:UserswbrmDesktopfor循环的练习.avi";
                string target = @"C:UserswbrmDesktop新的.avi";
                CopyFile(courece, target);
            }
            public static void CopyFile(string courece, string target)
            {
                //读取流
                using (FileStream fsRead = new FileStream(courece, FileMode.OpenOrCreate, FileAccess.Read))
                {
                   //写入流
                    using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))  
                    {                   
                        byte[] buffer = new byte[1024 * 1024 * 5];
                        //因为文件可能会比较大,所以我们在读取的时候,应该通过一个循环去读取
                        while (true)
                        {
                            //返回本次读取实际读取的字节数
                            int r = fsRead.Read(buffer, 0, buffer.Length);
                            //如果返回一个0,也就意味什么都没有读取到,读取完了
                            if(r==0)
                            {
                                break;
                            }
                            fsWrite.Write(buffer, 0,r);//最多写入的字节r
                        }
                    }
                }
            }
    //StreamRead来读取一个文件
                using (StreamReader sr = new StreamReader(@"C:UsersenleDesktop新建文本文档.txt", Encoding.Default))
                {
                    while (!sr.EndOfStream)//循环的去读文件
                    {
                        var str=sr.ReadLine();
                    }
                }
    //StreamWriter写入一个文本文件
                using (StreamWriter strw = new StreamWriter(@"C:UserswbrmDesktop新建.txt",true  ))//true 表示追加
                {
                    strw.Write("哈哈哈");
                }
  • 相关阅读:
    Postgres窗口函数学习
    关于KMP算法
    Kettle应用实例
    mybatis中po类继承另一个po类时查不出另一个po类里的属性
    查看Mybatis动态SQL
    取每个班前5名成绩的sql
    scatter/gather与map/reduce技术的布道推广从换个说法开始
    神奇的O記
    【坑】软件的大版本的各类小版本支持问题
    oracle时间处理tochar的黑幕坑
  • 原文地址:https://www.cnblogs.com/william-CuiCui0705/p/8066379.html
Copyright © 2011-2022 走看看