918博天堂

Server : Microsoft-IIS/10.0
System : Windows NT EBS-6136 10.0 build 17763 (Windows Server 2016) i586
User : jxgj ( 0)
PHP Version : 7.0.33
Disable Function : passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server
Directory :  D:/tmp_aspnet/root/5f1e4137/8eca010b/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : D:/tmp_aspnet/root/5f1e4137/8eca010b/App_Code.-mty-7id.4.cs
?#pragma checksum "D:\wwwroot\njjbjycom\wwwroot\App_Code\ReplaceString.cs" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1210351584B65E1F466FC79D8F05A6FD23225AC6"

#line 1 "D:\wwwroot\njjbjycom\wwwroot\App_Code\ReplaceString.cs"
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text.RegularExpressions;
using System.IO;
using System.Collections;

/// <summary>
///ReplaceString 的提要注明
/// </summary>
public class ReplaceString
{
    /// <summary>
    /// 代替字符串中的字符串
    /// </summary>
    /// <param name="str">字符串</param>
    /// <param name="findPattern">用于查找的字符串</param>
    /// <param name="replacedBy">用于代替的字符串</param>
    public static string strReplace(string str, string findPattern, string replacedBy)
    {
        string result = string.Empty;
        string inputText = string.Empty;
        string replacement = replacedBy;
        string pat = findPattern;
        Regex r = new Regex(pat, RegexOptions.IgnoreCase);

        try
        {
            inputText = str;
            if (r.IsMatch(inputText))
            {
                result = r.Replace(inputText, replacement);
            }
        }
        catch (Exception e)
        {
            throw (e);
        }
        return result;
    }

    /// <summary>
    /// 代替单个文件中字符串
    /// </summary>
    /// <param name="fileFullName">文件全名</param>
    ///<param name="findPattern">用于查找的字符串</param>
    /// <param name="replacedBy">用于代替的字符串</param>
    /// <param name="isBackup">是否备份文件</param>
    /// <call>Replacee.FileReplace("E:\\ttt\\ttt.html", textBox1.Text, textBox2.Text, true);</call>
    public static void FileReplace(string fileFullName, string findPattern, string replacedBy, bool isBackup)
    {
        string result = string.Empty;
        string inputText = string.Empty;
        string replacement = replacedBy;
        string pat = findPattern;
        Regex r = new Regex(pat, RegexOptions.IgnoreCase);

        try
        {
            using (StreamReader sr = new StreamReader(fileFullName))
            {
                inputText = sr.ReadToEnd();
            }

            // Compile the regular expression.
            if (r.IsMatch(inputText))
            {
                if (isBackup == true)
                {
                    try
                    {
                        File.Copy(fileFullName, fileFullName + ".bak");
                    }
                    catch (System.IO.IOException ex)
                    {
                        File.Copy(fileFullName, fileFullName + ".bak", true);
                        Console.WriteLine(ex.Message);
                    }
                }
                result = r.Replace(inputText, replacement);

                // Add some text to the file.
                using (StreamWriter sw = new StreamWriter(fileFullName))
                {
                    sw.Write(result);
                }
            }
            Console.WriteLine(fileFullName);
        }
        catch (Exception e)
        {

            Console.WriteLine("The process failed: {0}", e.ToString());
            //throw(e);
        }
    }

    /// <summary>
    /// 遍历目录(代替整个目录下的文件中的字符串)
    /// </summary>
    /// <param name="path">肇始蹊径</param>        
    /// <param name="findPattern">用于查找的字符串</param>
    /// <param name="replacedBy">用于代替的字符串</param>
    /// <param name="isBackup">是否备份文件</param>
    /// <param name="isGetSubFloder">是否获取子文件夹</param>
    /// <param name="type">要代替的文件的类型</param>
    /// <call>Replacee.PathReplace(@"E:\ttt", textBox1.Text, textBox2.Text, true, true, "*.html");</call>
    public static void PathReplace(string path, string findPattern, string replacedStr, bool isBackup, bool isGetSubFloder, string type)
    {
        Queue queue = new Queue();
        DirectoryInfo di = null;
        string subPath = string.Empty;
        string currentPath = string.Empty;
        FileSystemInfo[] dirs = null;

        queue.Enqueue(path);
        while (queue.Count > 0)
        {
            currentPath = (string)queue.Dequeue();
            di = new DirectoryInfo(currentPath);

            //get files under current directiory
            FileSystemInfo[] files = di.GetFiles(type);
            foreach (FileSystemInfo f in files)
            {
                FileReplace(f.FullName, findPattern, replacedStr, isBackup);
            }

            // Get only subdirectories
            if (isGetSubFloder == true)
            {
                dirs = di.GetDirectories();
                foreach (FileSystemInfo d in dirs)
                {
                    subPath = d.FullName;
                    queue.Enqueue(subPath);
                    Console.WriteLine(subPath);
                }
            }
        }
    }
}


#line default
#line hidden