C#练习1、文件操作 File静态类

使用File的静态方法,命名空间需包含using System.IO;

//文件读写File类 
            ////案例一:读取文件内容
            //byte[] buffer = File.ReadAllBytes(@"D:\C#ExampleFile\ex.txt");
            //string s = Encoding.Default.GetString(buffer);
            //Console.WriteLine(s);
            //Console.ReadKey();

            ////案例二:写入文件内容   文件没有则创建,有则覆盖   //最好进行一次判断 跟用户交互一下再覆盖
            //string str = "我是最棒的。";
            //byte[] buffer = Encoding.Default.GetBytes(str);
            //File.WriteAllBytes(@"D:\C#ExampleFile\ex1.txt", buffer);
            //Console.Write("写入成功!");
            //Console.ReadLine();

           ////案例三  按行读取    返回字符串数组
           // string[]  contents=File.ReadAllLines(@"D:\C#ExampleFile\ex.txt", Encoding.Default);
           // foreach (string item in contents)
           // {
           //     Console.WriteLine(item);
            
           // }
           // Console.ReadKey();

           ////案例四   全部读,返回字符串
           // string str = File.ReadAllText(@"D:\C#ExampleFile\ex.txt", Encoding.Default);
           // Console.WriteLine(str);
           // Console.ReadKey();

           // string filepath = "d:\\c#examplefile\\ex1.txt";
           //File.Delete(@"d:\C#examplefile\ex1.txt");//案例五 file删除文件
           //File.Delete(@filepath);   //案例五 file删除文件

            ////===============实例化FileInfo进行操作=========================
            //string filepath = "d:\\c#examplefile\\ex111.txt";
            //FileInfo myfile = new FileInfo(filepath);
            //string destpath = "d:\\111\\123.txt";
            //bool IsExists = myfile.Exists;  //检测是否存在

            //myfile.CopyTo(@destpath);   //对文件进行复制操作,destpath需包含地址及移动后的文件名;filepath必须需存在

            //myfile.MoveTo(@"D:\\111\\2.txt");    //对源文件进行移动操作,Path包含移动后的文件名;  filepath必须需存在
            // myfile.Delete();  //filepath不存在时无异常

如何选择用哪一个类? File or FileInfo
Directory/File只包含静态方法,不能被实例化,只需要提供合适的文件系统对象路径就可以使用,使用效率较高
当只对文件或文件夹执行一次操作,使用这些就很有效。
DirectoryInfo/FileInfo 如果使用一个对象执行多个操作,使用这些类就很高效。
因为它们在构造时就读取了文件系统对象的身份验证和其他信息,无论调用了多少方法,都不需要再次读取这些信息。

===============
在C#中,使用文件和目录路径时要十分谨慎。C#将反斜杠”\”字符视作转义符,因此当路径表示为字符串时,要使用两个反斜杠表示,例如:

“C:\Windows\System32\notepad.exe”

另外,C#允许在字符串前添加”@”标志,以提示编译器不要把”\”字符视作转义符,而视作普通字符,例如:

@”C:\Windows\System32\notepad.exe”

你可能感兴趣的:(C#)