using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace urlChange { class Program { static void Main(string[] args) { Console.WriteLine("替换该文件及其子文件夹下*html文档内容。"); Console.WriteLine("请输入文件目录:"); string s = null; List<DirectoryInfo> fileList = new List<DirectoryInfo>(); List<FileInfo> htmlList=new List<FileInfo>();
//输入文件url s = Console.ReadLine(); //创建文件目录 DirectoryInfo dir = new DirectoryInfo(@s);
//把文件目录信息存到集合中 fileList.Add(dir);
//取得文件目录中的子目录 DirectoryInfo[] dii = dir.GetDirectories();
GetFileUrl1(fileList,dii);
//此时,fileList存有所有目录(包含子目录)的信息 Console.WriteLine("共有"+fileList.Count+"个文件夹\n"); int i = 0; //循环去除每个目录的信息 foreach (DirectoryInfo dif in fileList) { //取得每个目录的所有文件 FileInfo[] fils = dif.GetFiles(); //循环取得每个文件 foreach (FileInfo fil in fils) { //后缀名为html的文件 if(fil.FullName.Contains((".html"))) { //取得文件内容 ReplaceText(fil.FullName.ToString()); //把每个文件的信息存入集合 htmlList.Add(fil); //输出文件目录与显示总共有多少个文件 Console.WriteLine(fil.FullName+"---"+ ++i); } } } Console.WriteLine("该文件夹及其所有子文件夹下共有"+htmlList.Count+"个文件\n"); Console.WriteLine("替换成功!"); Console.ReadKey(); }
public static void GetFileUrl1(List<DirectoryInfo> fileList, DirectoryInfo[] dir) { //取得子目录中的子目录 foreach (DirectoryInfo dif in dir) { //把子目路信息存到集合 fileList.Add(dif); //取得子目录中的子目录 DirectoryInfo[] dii1 = dif.GetDirectories(); //要是子目录中还有目录,则取得子目录中的子目录 if (dii1.Length>0) { GetFileUrl1(fileList,dii1); } } }
public static void ReplaceText(string s) { string path = s; string con = ""; //取得文件的内容 FileStream fs=new FileStream(path,FileMode.Open,FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"),true); con = sr.ReadToEnd(); //替换内容 con = con.Replace("http:",""); sr.Close(); fs.Close();
//取得文件的内容 FileStream fs2 = new FileStream(path,FileMode.Open,FileAccess.Write); StreamWriter sw=new StreamWriter(fs2, Encoding.UTF8); //把替换后的文本内容存到文本中 sw.WriteLine(con); sw.Close(); fs2.Close();
} } } --------------------- 作者:清--水 来源:CSDN 原文:https://blog.csdn.net/yh12346789/article/details/80146687
|