文件操作类StreamWriter 、StreamReader、FileStream 、File、FileInfo 、DirectoryInfo 、Directory

来源:互联网 发布:u盘数据恢复后是乱码 编辑:程序博客网 时间:2024/06/10 09:09

 Directory.CreateDirectory("D:\\a\\b\\c");            //创建目录和子目录     

       Directory.Delete("D:\\a\\b", true);                //删除b目录,同时递归删除b目录的所有子目录和文件

            Directory.Move("D:\\a\\b", "D:\\v");                 //将b目录下的所有子目录和文件移到D:\\v目录下,只限在同一盘符下,同时目标目录v必须不存在

            string[] dirsStr = Directory.GetDirectories("D:\\a");//获取该目录下的子目录,注意返回的是字符串数组

            string[] filesStr = Directory.GetFiles("D:\\a");     //获取该目录下的文件,注意返回的是字符串数组

 

            DirectoryInfo dirInfo = new DirectoryInfo("D:\\a\\b\\c");

            dirInfo.Create();

            DirectoryInfo dirInfo = new DirectoryInfo("D:\\a\\b");

            dirInfo.Delete(true);

 

            DirectoryInfo dirInfo = new DirectoryInfo("D:\\a\\b");

            dirInfo.MoveTo("D:\\v");

 

            DirectoryInfo dirInfo = new DirectoryInfo("D:\\a");

            DirectoryInfo[] dirsInfo = dirInfo.GetDirectories("*", SearchOption.AllDirectories);//查找该目录下的所有目录,同时包含子目录

            FileInfo[] filesInfo = dirInfo.GetFiles("*.txt", SearchOption.AllDirectories);     //查找该目录下的所有.txt的文件,同时包含子目录的.txt文件    

 

 

            FileInfo fileinfo = new FileInfo("D:\\a\\content.txt");//创建content.txt,并向文本中写入内容

            FileStream fs = fileinfo.Create();

            string str = "My name is zhongbao\r\nHello world!";

            byte[] bs = System.Text.Encoding.Default.GetBytes(str);

            fs.Write(bs, 0, bs.Length);

            fs.Close();

 

            FileStream filestW = new FileStream("D:\\a\\content.txt", FileMode.OpenOrCreate);//文件不存在就创建,存在则打开写入内容

            string str = "My name is zhongbao\r\nHello world!";

            byte[] byts = System.Text.Encoding.Default.GetBytes(str);

            for (int i = 0; i < byts.Length; i++)//加密

            {

                byts[i] = (byte)(byts[i] + 1);

            }

            filestW.Write(byts, 0, byts.Length);

            filestW.Close();

 

 

            FileStream filestR = new FileStream("D:\\a\\content.txt", FileMode.OpenOrCreate);//读取文本

            byte[] bts = new byte[filestW.Length];

            filestR.Read(bts, 0, bts.Length);

            for (int i = 0; i < bts.Length; i++)//解密

            {

                bts[i] = (byte)(bts[i] - 1);

            }

            string text = System.Text.Encoding.Default.GetString(bts);

            filestR.Close();

 

 

            File.Copy("D:\\a\\content.txt", "C:\\a\\content.doc", true);//复制文件

 

            File.Move("D:\\a\\content.txt", "C:\\a\\content.txt");//移动文件

 

            File.Delete("D:\\a\\content.txt");//删除文件

 

            File.SetAttributes("D:\\a\\content.txt", FileAttributes.Hidden | FileAttributes.ReadOnly);//设置文件为隐藏和只读属性

 

 

            FileStream fs = File.Create("D:\\a\\content.txt");//既然是创建,那么就没有所谓的追加内容

            string str = "My name is zhongbao\r\nHello world!";

            byte[] bs = System.Text.Encoding.Default.GetBytes(str);

            fs.Write(bs, 0, bs.Length);

            fs.Close();

 

            StreamWriter sw = File.CreateText("D:\\a\\content.txt");

            sw.WriteLine("Hello World!");

            sw.WriteLine("This is a Test");

            sw.Close();

 

            StreamReader sr = File.OpenText("D:\\a\\content.txt");

            string contents = sr.ReadToEnd();

            sr.Close();

 

 

 

            this.txtContext.Text = string.Empty;

            StreamReader sr = File.OpenText("D:\\a\\content.txt");//用于一行一行的读取,并可对符合的行做判断

            string contents = "";

            while (contents != null)

            {

                contents = sr.ReadLine();

                this.txtContext.Text += contents + "\r\n";

            }

            sr.Close();

 

 

            FileStream fstream = File.OpenRead("D:\\a\\content.txt");

            StreamReader sr = new StreamReader(fstream);

            string contents = sr.ReadToEnd();

            sr.Close();

 

 

            File.AppendAllText("D:\\a\\content.txt", "\r\nHow are you!", Encoding.Default);//将How are you!追加到content.txt文本中,如果文件还不存在,则创建该文件,无返回类型

 

 

            StreamWriter sw = File.AppendText("D:\\a\\content.txt");//向content.txt文件中追加2行内容,返回为StreamWriter类型,文件如果不存在,则创建后再追加

            sw.WriteLine("Hello World!");

            sw.WriteLine("This is a Test");

            sw.Close();

 

 

            StreamWriter sw = File.AppendText("D:\\a\\content.txt");//向content.txt文件中追加内容

            sw.Write("Hello World!");

            sw.Close();

 

            string contents = "This is a Test!\r\nHello World!";

            File.WriteAllText("D:\\a\\content.txt", contents);//向文件中写入内容,不是追加,会删除原有内容

 

            string[] contents = File.ReadAllLines("D:\\a\\content.txt"); // 读取文本内容 

            string contents = File.ReadAllText("D:\\a\\content.txt");

 

            FileStream fs = File.Open("D:\\a\\content.txt", FileMode.Append);//打开文件,向文件中追加内容

            string str = "My name is zhongbao\r\nHello world!";

            byte[] byts = System.Text.Encoding.Default.GetBytes(str);

            fs.Write(byts, 0, byts.Length);

            fs.Close();

 

            FileStream fsr = File.OpenRead("D:\\a\\content.txt");//打开文件,进行读文件

            byte[] bts = new byte[fsr.Length];

            fsr.Read(bts, 0, bts.Length);

            string contents = Encoding.Default.GetString(bts);

            fsr.Close();

 

            FileStream fsw = File.OpenWrite("D:\\a\\content.txt");//打开文件,进行写文件,不提供追加文本内容

            string str = "My name is zhongbao\r\nHello world!";

            byte[] byts = System.Text.Encoding.Default.GetBytes(str);

            fsw.Write(byts, 0, byts.Length);

            fsw.Close();

 

            string newpath = Path.ChangeExtension("D:\\a\\content.txt", "html");//"D:\\a\\content.html"

            Path.Combine("d:\\a", "content.txt");        //"d:\\a\\content.txt"

            Path.GetDirectoryName("D:\\a\\content.txt"); //"D:\\a"

            Path.GetExtension("D:\\a\\content.txt");     //".txt"

            Path.GetFileName("D:\\a\\content.txt");      //"content.txt"

            Path.GetFullPath("D:\\a\\content.txt");      //"D:\\a\\content.txt"

            Path.GetPathRoot("D:\\a\\content.txt");      //"D:\\"

            Path.GetTempPath();                          //"C:\\Documents and Settings\\kenchell\\Local Settings\\Temp\\"

            Path.HasExtension("D:\\a\\content.txt");     //true    

 

 

   //将字符串转化为流

   byte[] bts = System.Text.Encoding.Default.GetBytes("hello test");

   Stream stream = new MemoryStream(bts);

 

 

   //将流转化为字符串

   byte[] byt = new byte[stream.Length];

   stream.Read(byt, 0, byt.Length);

   this.txtInfo.Text = System.Text.Encoding.Default.GetString(byt);