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;
}
}
分享到:
相关推荐
jd-gui.exe 工具类 用于查看反编译的jar包 “Java Decompiler项目”旨在开发工具,以便反编译和分析Java 5“字节代码”和更高版本。 JD-Core是一个从一个或多个“.class”文件重构Java源代码的库。 JD-Core可用于...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
java8流源码ls-注解 ls-annotation 是一个 java ...搜索源代码受到的限制要大得多,通常会面临追逐多个依赖项及其版本的问题(并且可能必须跨多个源代码存储库这样做); 在查看给定系统的完整二进
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
JD-GUI是一款反编译的工具,独立图形界面的Java源代码JD-GUI支持Windows、Linux和苹果Mac Os三个平台,今天小编给你带来的事windows版本 不一样的界面不一样的感受 1.鼠标单击“file”从中选择“Open File ......
JEB的独特功能是,其Dalvik字节码反编译为Java源代码的能力。无需DEX-JAR转换工具。特别是当处理混淆的或受保护的代码块。JEB的强大的用户界面,使您可以检查交叉引用,重命名的方法,字段,类,代码和数据之间导航...
java反编译class源码#Google Cardboard VR 工具包库项目 注意:这是使用 JD-GUI 从 JAR 反编译的。 没有保证。 目前 cardboard.jar 与寻宝纸板样本一起以二进制形式提供 谷歌(+Christian Plagemann)在谷歌+ ...
如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL)...
java混淆器 RetroGuard 免费提供源码 可运行jar文件 Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件...
没有选择可以去掉,我使用的工具是jd-gui.exe,另外还有一些类反编译失败,暂时不知道原因。 那么对于注释的去除,使用ctrl+f打开查询,输入/\* {1,3}\d* *\*/ ,选择是正则匹配,然后用空替换替换,直接单击替换...
这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,...
jdk全称“Java Development Kit”,指的是Java语言的软件开发工具包,主要用于移动设备...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具
另外我发现论坛上学习Java的人都非常的有个性,当有人问起学习哪种语言更好时,他会打出几百个“JAVA”来,填满整个屏幕,也不说是为了什么。我觉得这样做未免有些太霸道了,如果你说这叫偏执狂我也不反对,虽然我...
JDK包含的基本组件包括: javac – 编译器,将源程序转成字节码 jar – 打包工具,将...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具
jdk1.6安装教程及环境变量配置: 双击运行"jdk-6u45-windows-x64.exe"程序,依...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具结构图
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。没有JDK的话,无法编译...Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 Jconsole: Java进行系统调试和监控的工具
它还可通过反射处理汇编源代码,并在代码中使用XML注释生成MSDN形式的文档,这种文档比难以解读的XML更易于理解。 5. Nunit NUnit是一个.NET上的单元测试框架。NUnit 1.x主要是移植JUnit 3.8。从2.0版本开始,NUnit...
JDK本身使用了Java语言编写,在我们下载的安装包里,有一个src.zip,里面就是JDK的源代码。版本 SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE(J2EE),...
为提高反编译代码的阅读性,笔者的android反编译工具,将成员,方法短名,按一定的规则 转为长名,使得成员、方法名具有很强的逻辑性,大大提高了代码的阅读性。 成员、方法短名转换为长名的规则: 1-- 公共...