コード例 #1
0
ファイル: Builder.cs プロジェクト: zh880517/backup
        private static void GenCode(ICodeGen gen)
        {
            string strOut     = gen.ToCode();
            string strOutFile = gen.GetOutFileName();

            if (File.Exists(strOutFile))
            {
                StreamReader sr   = new StreamReader(strOutFile);
                string       file = sr.ReadToEnd();
                sr.Close();
                if (file == strOut)
                {
                    return;
                }
            }
            string dir = Path.GetDirectoryName(strOutFile);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
            using (FileStream fs = new FileStream(strOutFile, FileMode.Create))
            {
                byte[] data = new UTF8Encoding().GetBytes(strOut);
                fs.Write(data, 0, data.Length);
                fs.SetLength(data.Length);
                fs.Flush();
                fs.Close();
            }
        }