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

 更新时间:2014年01月06日 13:47:43   作者:  
本文提供了c#删除代码中的单行注释行的示例,还可以看到文件流的使用方法,大家参考使用吧

复制代码 代码如下:

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"));
}
}

相关文章

  • C# 调用Delphi dll 实例代码

    C# 调用Delphi dll 实例代码

    这篇文章介绍了C# 调用Delphi dll 实例代码,有需要的朋友可以参考一下
    2013-09-09
  • Visual C#.Net 网络程序开发-Socket篇

    Visual C#.Net 网络程序开发-Socket篇

    Visual C#.Net 网络程序开发-Socket篇...
    2007-03-03
  • Unity常用音频操作类示例代码

    Unity常用音频操作类示例代码

    这篇文章主要介绍了Unity常用音频操作类,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • implicit关键字做自定义类型隐式转换的方法

    implicit关键字做自定义类型隐式转换的方法

    implicit 关键字用于声明隐式的用户定义类型转换运算符。如果转换过程可以确保不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换,这篇文章就给大家详细介绍implicit关键字做自定义类型隐式转换的方法,需要的朋友可以参考下
    2015-08-08
  • c# 对cookies(增、删、改、查)的操作方法

    c# 对cookies(增、删、改、查)的操作方法

    以前觉得cookies操作无非就那么几种,但是“杯具事件”还是很多的,下面分享一下对cookies的简单操作
    2013-04-04
  • 详解CLR的内存分配和回收机制

    详解CLR的内存分配和回收机制

    本文详细讲解了CLR的内存分配和回收机制,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#中参数个数可变的方法实例分析

    C#中参数个数可变的方法实例分析

    这篇文章主要介绍了C#中参数个数可变的方法,以一个简单实例分析了C#中参数个数可变的方法,主要是使用params关键字来实现的,是C#编程中比较实用的技巧,需要的朋友可以参考下
    2014-11-11
  • C#委托与冒泡排序实例

    C#委托与冒泡排序实例

    这篇文章介绍了C#委托与冒泡排序的实例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#程序连接数据库及读取数据库中字段的简单方法总结

    C#程序连接数据库及读取数据库中字段的简单方法总结

    包括C#连接Access、Oracle或者SQL Server,这里整理了一些C#连接数据库及从读取数据库中字段的简单方法总结,需要的朋友可以参考下
    2016-05-05
  • C# 实现简易的串口监视上位机功能附源码下载

    C# 实现简易的串口监视上位机功能附源码下载

    这篇文章主要介绍了C# 实现简易的串口监视上位机功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论