`
jssanshengshi
  • 浏览: 16063 次
  • 性别: Icon_minigender_1
  • 来自: wuxi
社区版块
存档分类
最新评论

去除反编译后Java源代码带有行注释工具类

 
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
* Copyright By 2014 TeamSun Co. Ltd. 
* All right reserved.
*/

/**
* @author liyonglu
* @since 2014-6-11
* @description:
*
*/
public class RemoveMarkTest {

// 查找是.java的文件;

// 判断是否开始含有/**字符
// 判断是否含有**/字符,如果有就去掉,如果无就无变化;
/**
*
*/
public RemoveMarkTest() {
}

/**
* 功能/function :
*
* 流程描述/steps:
*
* @param return void 创建时间:2014-6-11 上午10:22:27 by liyonglu 修改记录/revision:
*        日期: 修改人 描述:
*
*/
public static void main(String[] args) {
RemoveMarkTest test = new RemoveMarkTest();
test.convertFileContent();
}

/**
* 功能/function :去掉代码开始阶段的注释
*
* 流程描述/steps:
*
* @param return void 创建时间:2014-6-11 上午10:28:21 by liyonglu 修改记录/revision:
*        日期: 修改人 描述:
*
*/
private void convertFileContent() {
// 遍历文件夹,
String sourceDic = "E:\\2014_java_workspace\\KydTestPrj\\src\\com\\";
String desDic = "E:\\2014_java_workspace\\KydNewSourceprj\\src\\com\\";
try {
copyJavaFileWithDirector(sourceDic, desDic);

} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}

/**
* 拷贝文件夹中的所有文件到另外一个文件夹
*
* @param srcDirector
*            源文件夹
*
* @param desDirector
*            目标文件夹
* @throws IOException
*
* @变更记录 May 16, 2009 9:58:30 PM 李永路 创建
*
*/
public void copyJavaFileWithDirector(String srcDirector, String desDirector)
throws IOException {
(new File(desDirector)).mkdirs();
File[] file = (new File(srcDirector)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile() && file[i].getName().endsWith(".java")) {

convertJavaFile(file[i],desDirector
+ "/" + file[i].getName());
}
if (file[i].isDirectory()) {
copyJavaFileWithDirector(srcDirector + "/" + file[i].getName(),
desDirector + "/" + file[i].getName());
}
}
}


/**
* 功能/function :
*
* 流程描述/steps:
*
* @param
* return void
* 创建时间:2014-6-11 上午11:50:13 by liyonglu
* 修改记录/revision:
* 日期:        修改人     描述:
*
*/
public void convertJavaFile(File file,String desdic) throws IOException
{
FileReader in = new FileReader(file);
BufferedReader br = new BufferedReader(in);

FileWriter out = new FileWriter(desdic);
BufferedWriter bw = new BufferedWriter(out);

String linecontent = br.readLine();
while(null != linecontent)
{
//每行数据,进行分析
bw.write(deleteMarkContent(linecontent)+"\r\n");
linecontent = br.readLine();
}
in.close();
br.close();

bw.flush();
bw.close();
out.close();

}

//判断是否开始含有/**字符 判断是否含有**/字符,如果有就去掉,如果无就无变化;
/**
* 功能/function ://每行数据,进行分析
*
* 流程描述/steps:
*
* @param
* return String
* 创建时间:2014-6-11 上午11:36:10 by liyonglu
* 修改记录/revision:
* 日期:        修改人     描述:
*
*/
private String deleteMarkContent(String content)
{
if(null != content && content.length() > 0)
{
int startindex = content.indexOf("/*");
if(-1 != startindex)
{
int endindex = content.indexOf("*/");
if(-1 != endindex && startindex<endindex)
{
content = content.substring(endindex+2);
if(content.startsWith(" "))
content = content.substring(1);
System.out.println(content);
}
}
}

return content;
}

}
分享到:
评论

相关推荐

    Java反编译工具 jd-gui-windows-1.6.6

    jd-gui.exe 工具类 用于查看反编译的jar包 “Java Decompiler项目”旨在开发工具,以便反编译和分析Java 5“字节代码”和更高版本。 JD-Core是一个从一个或多个“.class”文件重构Java源代码的库。 JD-Core可用于...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java8stream源码-ls-annotations:通过反编译字节码显示所有带有java注解的声明

    java8流源码ls-注解 ls-annotation 是一个 java ...搜索源代码受到的限制要大得多,通常会面临追逐多个依赖项及其版本的问题(并且可能必须跨多个源代码存储库这样做); 在查看给定系统的完整二进

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    jd-gui.zip,反编译

    JD-GUI是一款反编译的工具,独立图形界面的Java源代码JD-GUI支持Windows、Linux和苹果Mac Os三个平台,今天小编给你带来的事windows版本 不一样的界面不一样的感受  1.鼠标单击“file”从中选择“Open File ......

    android逆向神器jeb_1.4_full破解版

    JEB的独特功能是,其Dalvik字节码反编译为Java源代码的能力。无需DEX-JAR转换工具。特别是当处理混淆的或受保护的代码块。JEB的强大的用户界面,使您可以检查交叉引用,重命名的方法,字段,类,代码和数据之间导航...

    java反编译class源码-cardboard:CardboardVR工具包库(反编译源)

    java反编译class源码#Google Cardboard VR 工具包库项目 注意:这是使用 JD-GUI 从 JAR 反编译的。 没有保证。 目前 cardboard.jar 与寻宝纸板样本一起以二进制形式提供 谷歌(+Christian Plagemann)在谷歌+ ...

    .NET Reflector6.5.0.135(2010.11.04前最新反编译工具,源码查看)

     如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...

    java混淆器 RetroGuard

    java混淆器 RetroGuard 免费提供源码 可运行jar文件 Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件...

    RT-JAR-CODE:反编译的rt.jar这个包内的源代码,这个包是sun内部使用的包,不开源,JDK中使用到了它,所以反编译过来看看-源码包

    没有选择可以去掉,我使用的工具是jd-gui.exe,另外还有一些类反编译失败,暂时不知道原因。 那么对于注释的去除,使用ctrl+f打开查询,输入/\* {1,3}\d* *\*/ ,选择是正则匹配,然后用空替换替换,直接单击替换...

    java 混淆工具,不可逆 jocky 也许是最好的了

    这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,...

    JavaEE所需的配置文件(JDK,JRE)

    jdk全称“Java Development Kit”,指的是Java语言的软件开发工具包,主要用于移动设备...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具

    c#学习笔记.txt

    另外我发现论坛上学习Java的人都非常的有个性,当有人问起学习哪种语言更好时,他会打出几百个“JAVA”来,填满整个屏幕,也不说是为了什么。我觉得这样做未免有些太霸道了,如果你说这叫偏执狂我也不反对,虽然我...

    jsp小示例显示日期

    JDK包含的基本组件包括: javac – 编译器,将源程序转成字节码 jar – 打包工具,将...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具

    jdk-6u45-windows-i586 & x64

    jdk1.6安装教程及环境变量配置: 双击运行"jdk-6u45-windows-x64.exe"程序,依...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具结构图

    JDK1.8(32位和64位)正式版+JDK1.8API帮助文档

    JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。没有JDK的话,无法编译...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具

    .Net十大必备工具之一

    它还可通过反射处理汇编源代码,并在代码中使用XML注释生成MSDN形式的文档,这种文档比难以解读的XML更易于理解。 5. Nunit NUnit是一个.NET上的单元测试框架。NUnit 1.x主要是移植JUnit 3.8。从2.0版本开始,NUnit...

    jdk1.6 windows 64位

     JDK本身使用了Java语言编写,在我们下载的安装包里,有一个src.zip,里面就是JDK的源代码。版本 SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE(J2EE),...

    android坦克大战原码

    为提高反编译代码的阅读性,笔者的android反编译工具,将成员,方法短名,按一定的规则 转为长名,使得成员、方法名具有很强的逻辑性,大大提高了代码的阅读性。  成员、方法短名转换为长名的规则: 1-- 公共...

Global site tag (gtag.js) - Google Analytics