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

C# 中的File和FileInfo类用于文件操作。File类包含静态方法,适用于一次性操作,效率高;FileInfo类在执行多次操作时更高效,因为它在构造时获取文件信息。路径表示时,需注意反斜杠的转义,可以使用双反斜杠或添加@符号避免转义。

使用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”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值