• 共享状态的文件读写


    开发中有时会遇到要对文件进行共享状态的读写操作,代码如下:

    View Code
    using System.IO;
    using System.Text;
    
    namespace LucienBao.Commons
    {
        public static class FileHelper
        {
            public static string ShareRead(string file, Encoding encoding)
            {
                string content = string.Empty;
                FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                try
                {
                    if (fs.CanRead)
                    {
                        byte[] buffer = new byte[fs.Length];
                        fs.Read(buffer, 0, buffer.Length);
                        content = encoding.GetString(buffer);
                    }
                }
                finally
                {
                    fs.Close();
                    fs.Dispose();
                }
    
                return content;
            }
    
    
            public static void ShareAppend(string content, string file, Encoding encoding)
            {
                ShareWrite(content, file, encoding, FileMode.Append);
            }
    
            public static void ShareWrite(string content, string file, Encoding encoding, FileMode fileMode)
            {
                FileStream fs = new FileStream(file, fileMode, FileAccess.Write, FileShare.Read);
                try
                {
                    if (fs.CanWrite)
                    {
                        byte[] buffer = encoding.GetBytes(content);
                        if (buffer.Length > 0)
                        {
                            fs.Write(buffer, 0, buffer.Length);
                            fs.Flush();
                        }
                    }
                }
                finally
                {
                    fs.Close();
                    fs.Dispose();
                }
            }
    
        }
    }
  • 相关阅读:
    上学路线 (Standard IO)
    舞台设置 (Standard IO)
    Circle (Standard IO)
    Number (Standard IO)
    Gift (Standard IO)
    圆周舞蹈 (Standard IO)
    竞赛排名 (Standard IO)
    奶牛排队 (Standard IO)
    奶牛晒衣服 (Standard IO)
    神奇的风 (Standard IO)
  • 原文地址:https://www.cnblogs.com/lucienbao/p/FileShareReadWrite.html
Copyright © 2020-2023  润新知