c#删除代码中的单行注释行示例

时间:2023-05-11 22:44:49 


using System.IO;
using System.Collections;

static string deleteComments(string s) //去掉以//开始的注释
{
if (s == null) return s;
int pos = s.IndexOf("//");
if (pos < 0) return s;
return s.Substring(0, pos);
}
if (Directory.Exists("Temp"))
Directory.Delete("Temp");
if (File.Exists("Generator.cmd"))
File.Delete("Generator.cmd");
if (File.Exists("rem.txt"))
File.Delete("rem.txt");
Directory.CreateDirectory("Temp");
DirectoryInfo dir = new DirectoryInfo(".");
ArrayList folders = new ArrayList();
FileSystemInfo[] fileArr = dir.GetFileSystemInfos();
folders.AddRange(fileArr);
for (int i = 0; i < folders.Count; i++)
{
FileInfo f = folders[i] as FileInfo;
if (f == null)
{
DirectoryInfo d = folders[i] as DirectoryInfo;
if (!d.Name.Contains("Debug") && !d.Name.Contains("Release") && d.Name!="Temp")
{
Directory.CreateDirectory("Temp" + "\\" + d.Name);
folders.AddRange(d.GetFileSystemInfos());
}
}
else
{
string str = f.FullName;
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")
{
try
{
FileStream fin = new FileStream(
f.FullName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(
str.Replace(Directory.GetCurrentDirectory(), Directory.GetCurrentDirectory() + "\\Temp"), FileMode.Create, FileAccess.Write);
StreamReader brin = new StreamReader(
fin, System.Text.Encoding.Default);
StreamWriter brout = new StreamWriter(
fout, System.Text.Encoding.Default);
string s = brin.ReadLine();
while (s != null)
{
s = deleteComments(s); //去掉以//开始的注释
brout.WriteLine(s); //写出
Console.WriteLine(s); //在控制上显示
s = brin.ReadLine(); //读入
}
brin.Close(); // 关闭缓冲读入流及文件读入流的连接.
brout.Close();
}
catch (FileNotFoundException)
{
Console.WriteLine("File not found!");
}
catch (IOException e2)
{
Console.WriteLine(e2);
}
}
else
File.Copy(f.FullName, str.Replace(Directory.GetCurrentDirectory(), Directory.GetCurrentDirectory() + "\\Temp"));
}
}

标签:单行注释
0
投稿

猜你喜欢

  • 基于Jenkins搭建.NET Core持续集成环境过程图解

    2021-10-25 03:44:33
  • C# 多线程编程技术基础知识入门

    2023-05-27 08:00:24
  • 浅谈Java中Spring Boot的优势

    2022-12-25 17:36:52
  • Java try-catch-finally异常处理机制详解

    2023-10-02 20:29:00
  • c#消息提示框messagebox的详解及使用

    2022-06-25 14:57:44
  • Java使用ExecutorService来停止线程服务

    2023-01-25 12:10:56
  • C语言实现顺序表的顺序查找和折半查找

    2021-10-24 13:17:19
  • C#实现字符串进制转换方法汇总

    2022-01-03 09:30:37
  • c++中数字与字符串之间的转换方法(推荐)

    2023-02-22 17:58:09
  • Android轻松实现多语言的方法示例

    2023-02-17 19:33:38
  • 一文详解Spring security框架的使用

    2023-06-03 22:42:09
  • Spring JPA之find拓展方法示例详解

    2021-12-11 03:50:49
  • java反射机制示例详解

    2021-08-07 07:51:59
  • SpringCloud实现Eureka服务注册与发现

    2021-08-16 04:00:44
  • 为什么阿里要慎重使用ArrayList中的subList方法

    2023-12-07 19:03:34
  • 详解Java编程的Observer观察者设计模式

    2023-11-10 04:06:07
  • C#下listview如何插入图片

    2023-06-18 11:45:44
  • 详解Java单元测试之Junit框架使用教程

    2022-03-06 02:55:56
  • C#抓取当前屏幕并保存为图片的方法

    2023-09-27 08:39:43
  • 详解Android消息机制完整的执行流程

    2021-10-14 18:11:00
  • asp之家 软件编程 m.aspxhome.com