[C#] C#除去以//开始的注释 →→→→→进入此内容的聊天室

来自 , 2021-03-09, 写在 C#, 查看 111 次.
URL http://www.code666.cn/view/39b8f721
  1. using System.IO;
  2. using System.Collections;
  3.     static string deleteComments(string s) //去掉以//开始的注释
  4.     {
  5.         if (s == null) return s;
  6.         int pos = s.IndexOf("//");
  7.         if (pos < 0) return s;
  8.         return s.Substring(0, pos);
  9.     }
  10.         if (Directory.Exists("Temp"))
  11.             Directory.Delete("Temp");
  12.         if (File.Exists("Generator.cmd"))
  13.             File.Delete("Generator.cmd");
  14.         if (File.Exists("rem.txt"))
  15.             File.Delete("rem.txt");
  16.         Directory.CreateDirectory("Temp");
  17.         DirectoryInfo dir = new DirectoryInfo(".");
  18.         ArrayList folders = new ArrayList();
  19.         FileSystemInfo[] fileArr = dir.GetFileSystemInfos();
  20.         folders.AddRange(fileArr);
  21.         for (int i = 0; i < folders.Count; i++)
  22.         {
  23.             FileInfo f = folders[i] as FileInfo;
  24.             if (f == null)
  25.             {
  26.                 DirectoryInfo d = folders[i] as DirectoryInfo;
  27.                 if (!d.Name.Contains("Debug") && !d.Name.Contains("Release") && d.Name!="Temp")
  28.                 {
  29.                     Directory.CreateDirectory("Temp" + "\\" + d.Name);
  30.                     folders.AddRange(d.GetFileSystemInfos());
  31.                 }
  32.             }
  33.             else
  34.             {
  35.                 string str = f.FullName;
  36.                 if (Path.GetExtension(f.FullName) == ".c" || Path.GetExtension(f.FullName) == ".cpp" || Path.GetExtension(f.FullName) == ".h" || Path.GetExtension(f.FullName) == ".hpp" || Path.GetExtension(f.FullName) == ".cxx" || Path.GetExtension(f.FullName) == ".cs")
  37.                 {
  38.                     try
  39.                     {
  40.                         FileStream fin = new FileStream(
  41.                             f.FullName, FileMode.Open, FileAccess.Read);
  42.                         FileStream fout = new FileStream(
  43.                             str.Replace(Directory.GetCurrentDirectory(), Directory.GetCurrentDirectory() + "\\Temp"), FileMode.Create, FileAccess.Write);
  44.                         StreamReader brin = new StreamReader(
  45.                             fin, System.Text.Encoding.Default);
  46.                         StreamWriter brout = new StreamWriter(
  47.                             fout, System.Text.Encoding.Default);
  48.                         string s = brin.ReadLine();
  49.                         while (s != null)
  50.                         {
  51.                             s = deleteComments(s);                                              //去掉以//开始的注释
  52.                             brout.WriteLine(s);                 //写出
  53.                             Console.WriteLine(s);               //在控制上显示
  54.                             s = brin.ReadLine();                                                //读入
  55.                         }
  56.                         brin.Close();                           // 关闭缓冲读入流及文件读入流的连接.
  57.                         brout.Close();
  58.                     }
  59.                     catch (FileNotFoundException)
  60.                     {
  61.                         Console.WriteLine("File not found!");
  62.                     }
  63.                     catch (IOException e2)
  64.                     {
  65.                         Console.WriteLine(e2);
  66.                     }
  67.                 }
  68.                 else
  69.                     File.Copy(f.FullName, str.Replace(Directory.GetCurrentDirectory(), Directory.GetCurrentDirectory() + "\\Temp"));
  70.             }
  71.         }
  72. //csharp/1114

回复 "C#除去以//开始的注释"

这儿你可以回复上面这条便签

captcha