基本操作:判存、复制、移动、删除
基本方法:
File.Exist();
File.Copy();
File.Move();
File.Delete()
补充:文本文件编码,文本文件有不同的存储方式,将字符串以什么样的形式保存为二进制,这个就是编码,UTF-8、ASCII、Unicode,gbk
gb2312等,如果出现乱码一般就是编码的问题,文本文件相关的函数一般都有一个Encoding类型的参数,取得编码的方式:Encoding.Default、Encoding.UTF8、Encoding.GetEncoding("GBK")
输出Encoding.GetEncodings(),所有编码。
什么是文本文件。拖到记事本中还能看得懂的就是文本文件,doc不是。
常用静态方法
void AppendAllText(string path, string contents),
将文本contents附加到文件path中
bool Exists(string path)判断文件path是否存在
string[] ReadAllLines(string path) 读取文本文件到字符串数组中
string ReadAllText(string path) 读取文本文件到字符串中
void WriteAllText(string path, string contents)
将文本contents保存到文件path中,会覆盖旧内容。
WriteAllLines(string path,string[] contents),
将字符串数组逐行保存到文件path中,会覆盖旧内容
File类的方法
File.Copy(“source”, “targetFileName”, true);//文件拷贝,true表示当文件存在时“覆盖”,如果不加true,则文件存在报异常。
File.Exists();//判断文件是否存在
File.Move(“source”, “target”);//移动(剪切),思考如何为文件重命名?
File.Delete(“path”);//删除。如果文件不存在?不存在,不报错
File.Create(“path”);//创建文件
操作文本文件
File.ReadAllLines(“path”, Encoding.Default);//读取所有行,返回string[]
File.ReadAllText(“path”, Encoding.Default);//读取所有文本返回string
File.ReadAllBytes(“path”);//读取文件,返回byte[],把文件作为二进制来处理。
===========================================
File.WriteAllLines(“path”, new string[4] ,Encoding.Default);//将string数组按行写入文件。
File.WriteAllText(“path”, “string”);//将字符串全部写入文件
File.WriteAllBytes(“path”,new byte[5]);//将byte[]全部写入到文件
File.AppendAllText()//将string追加到文件
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _15File类 { class Program { static void Main(string[] args) { //创建一个文件 //File.Create(@"C:\Users\SpringRain\Desktop\new.txt"); //Console.WriteLine("创建成功"); //Console.ReadKey(); //删除一个文件 //File.Delete(@"C:\Users\SpringRain\Desktop\new.txt"); //Console.WriteLine("删除成功"); //Console.ReadKey(); //1024byte=1kb //1024kb=1M //1024M=1G //1024G=1T //1024T=1PT //复制一个文件 //File.Copy(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\new.txt"); //Console.WriteLine("复制成功"); //Console.ReadKey(); //剪切 File.Move(@"C:\Users\SpringRain\Desktop\code.txt", @"C:\Users\SpringRain\Desktop\newnew.txt"); Console.WriteLine("剪切成功"); Console.ReadKey(); //Console.WriteLine(sizeof(char)); //Console.ReadKey(); //Console.WriteLine(sizeof(string));a "dsfdsfds" //Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace _16_使用File类操作文件的数据 { class Program { static void Main(string[] args) { //byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\1.txt"); //EncodingInfo[] en = Encoding.GetEncodings(); //foreach (var item in en) //{ // Console.WriteLine(item.DisplayName); //} //Console.ReadKey(); //将字节数组转换成字符串 //string s = Encoding.UTF8.GetString(buffer); //Console.WriteLine(s); // Console.WriteLine(buffer.ToString()); //编码格式:指的就是你以怎样的形式来存储字符串 //a-z 0-9 Ascii 117 u---->汉字--->GB2312 GBK //int n = (int)‘u‘; //char c = (char)188; //Console.WriteLine(c); ////Console.WriteLine(n); //string s="今天天气好晴朗,处处好风光"; ////将字符串转换成字节数组 //byte[] buffer= Encoding.Default.GetBytes(s); ////以字节的形式向计算机中写入文本文件 //File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\1.txt", buffer); //Console.WriteLine("写入成功"); //Console.ReadKey(); //使用File类来实现一个多媒体文件的复制操作 //读取 byte[] buffer = File.ReadAllBytes(@"C:\Users\SpringRain\Desktop\12333.wmv"); Console.ReadKey(); ////写入 //File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\new.wav", buffer); //Console.WriteLine("复制成功"); //Console.ReadKey(); //byte[] buffer=new byte[1024*1024*5]; //while (true) //{ // File.WriteAllBytes(@"C:\Users\SpringRain\Desktop\123.wmv", buffer); //} } } }