C#高级篇-File 文件操作相关

1.查看文件文件夹的信息

通过FileInfo类获取文件相关信息

static void Main(string[] args)
        {
            //相对路径:找当前程序的文件路径
            //绝对路径:加上文件完整的路径名
            FileInfo fileInfo = new FileInfo(@"F:\unity project\C sharp 高级篇\文件操作\bin\Debug\TextFile1.txt");

            Console.WriteLine(fileInfo.Exists);//判断该文件是否存在
            Console.WriteLine(fileInfo.Name);//文件名.后缀
            Console.WriteLine(fileInfo.Directory);
            Console.WriteLine(fileInfo.Length);
            Console.WriteLine(fileInfo.IsReadOnly);
            Console.ReadKey();
        }

通过CopyTo将文件复制到当前目录下

            //将文件复制到当前目录下
            fileInfo.CopyTo("t.txt");

创建文件

FileInfo fileInfo = new FileInfo("none.txt");
            if(fileInfo.Exists == false)
            {
                fileInfo.Create();//创建当前文件
            }

重命名操作

FileInfo fileInfo = new FileInfo("none.txt");
            fileInfo.MoveTo("yeap.txt");//相当于重命名操作

2.文件的读写

通过一行一行的读取,将读取的内容存放在一个string[]中

string[] strArray = File.ReadAllLines("IOtext.txt");
            foreach (string temp in strArray)
            {
                Console.WriteLine(temp);
            }

通过ReadAllText方法,将文本存储到一个text文件中

string s = File.ReadAllText("IOtext.txt");
            Console.WriteLine(s);

读取byte的数据

byte[] byteArray = File.ReadAllBytes("pic.jpg");
            foreach (var b in byteArray)
            {
                Console.Write(b);
            }

File文件的写入和读取是相对应的

File.WriteAllText("textfile2.txt", "hello 中国");

            File.WriteAllLines("textfile3.txt", new string[] { "frist line", "aaaall", "一句话" });

使用FileStream来进行文件的读取

//1.创建文件流 用来操作文件
            FileStream stream = new FileStream("TextFile1.txt", FileMode.Open);

            //2.读取或者写入数据
            byte[] data = new byte[1024];
            //1 byte = 1字节 1024byte = 1kb
            int length = stream.Read(data,0,data.Length);
            for(int i = 0; i < length; i++)
            {
                Console.Write(data[i] + " ");
            }

3.StreamReader和StreamWriter读写文本文件

通过StreamReader读取文件,使用ReadLine()方法

//创建文本文件读取流
            StreamReader reader = new StreamReader("test.txt");

            while (true)
            {
                string str = reader.ReadLine();
                if(str == null)
                {
                    break;
                }
                Console.WriteLine(str);
            }

使用ReadToEnd()方法,直接读取文本中的全部data存储到一个string中

string str = reader.ReadToEnd();//读取到文本的结尾
            Console.WriteLine(str);

            reader.Close();

使用Read()方法,每次读取一个字符。当文本没有数据的时候返回-1

while (true)
            {
                int res = reader.Read();
                if(res == -1)
                {
                    break;
                }
                else
                {
                    Console.Write((char)res);
                }
            }

使用StreamWriter写入信息

StreamWriter writer = new StreamWriter("textfile2.txt");
            while (true)
            {
                string message = Console.ReadLine();
                if(message == "q")
                {
                    break;
                }
                //writer.Write(message);//写入一个字符串
                writer.WriteLine(message);//写入一个字符串并换行
            }

            writer.Close();

猜你喜欢

转载自blog.csdn.net/Game_Builder/article/details/81268368