C#文件操作

2021/6/2 20:21:13

本文主要是介绍C#文件操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C#的文件操作主要涉及到File, FileStream, StreamReader,StreamWriter这几个类

File主要用于处理小文件,FileStream处理大文件

File类主要用法

     File的名字空间是System.IO,

    封装了创建,打开,移动,删除,判断是否存在等

     读文件的三种方法

     方法1 按字节读

byte[] buffer = File.ReadAllBytes(@"C:\Users\One\Desktop\诗歌.txt");
string str = Encoding.GetEncoding("UTF-8").GetString(buffer);
Console.WriteLine(str);

    方法2 逐行读

string[] strs = File.ReadAllLines(@"C:\Users\One\Desktop\诗歌.txt", Encoding.Default);
foreach (var str in strs)
{
    Console.WriteLine(str);
}

    方法3 读文本

string text = File.ReadAllText(@"C:\Users\One\Desktop\诗歌.txt", Encoding.Default);
Console.WriteLine(text);

   

FileStream的用法

      File适合处理小文件,大文件得用FileStream类,FileStream主要处理字节,例如可以使用FileStream进行文件拷贝

using System;
using System.IO;

namespace MediaCopy
{
    class Program
    {
        static void Main(string[] args)
        {
            string path1 = @"C:\Users\One\Desktop\01.rmvb";
            string path2 = @"C:\Users\One\Desktop\02.rmvb";

            CopyMedia(path1, path2);
            Console.WriteLine("拷贝成功");
            Console.ReadKey();
        }

        public static void CopyMedia(string path1, string path2)
        {
            using (FileStream fsRead = new FileStream(path1, FileMode.Open, FileAccess.Read))
            {
                using (FileStream fsWrite = new FileStream(path2, FileMode.OpenOrCreate, FileAccess.Write))
                {
                    byte[] buffer = new byte[1024 * 1024 * 5]; //每次拷贝5M
                    while (true)
                    {
                        int size = fsRead.Read(buffer, 0, buffer.Length);
                        if (size == 0)
                        {
                            break;
                        }

                        fsWrite.Write(buffer, 0, size);
                    }
                }
            }
        }
    }
}

StreamReader  以流的方式读文件

public static void StreamReader_Test()
{
    using (StreamReader fReader = new StreamReader(@"C:\Users\One\Desktop\诗歌.txt", Encoding.Default))
    {
        while(!fReader.EndOfStream)
        {
            string str = fReader.ReadLine();
            Console.WriteLine(str);
        }
    }
}

StreamWriter  以流的 方式写文件

public static void StreamWriter_Test()
{
    //以追加的形式写入文件
    using (StreamWriter sw = new StreamWriter(@"C:\Users\One\Desktop\诗歌2.txt", true)) 
    {
        sw.Write("驱蚊器二无群二二群二群翁");
    }
}

 



这篇关于C#文件操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程