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源代码反编译.rar”压缩包中,可能包含了一款名为“1.4版本”的Java反编译工具,用于帮助用户查看和理解Java字节码。 Java反编译工具有很多,例如JAD (Java Decompiler),FernFlower,Procyon等。...
Java源代码反编译专家是一种专门用于解析和理解已编译的Java字节码的工具,使得开发者可以查看和理解那些未附带源代码的.class文件。在软件开发过程中,有时候我们可能需要查看已编译的Java类文件的源代码,例如在...
总结而言,JD-GUI和XJad是两款强大的Java源代码反编译工具,各有特点,适用于不同的工作场景。JD-GUI以其直观的GUI和易用性受到喜爱,而XJad则以其在早期字节码处理上的专业性脱颖而出。无论是为了学习、调试还是...
JAVA源代码反编译超级引挚v1是一款专门用于Java源代码反编译的工具,它可以帮助开发者查看和理解已编译的Java字节码,将.class文件转换回.java源代码形式。在软件开发和逆向工程领域,这样的工具具有重要的实用价值...
"小颖Java源代码反编译专家"是一款专为此目的设计的工具,它能够批量处理文件夹下的所有class文件,提高反编译的效率。 首先,我们来理解一下什么是Java字节码。Java程序在编译后不会生成像C++或C#那样的可执行文件...
尽管反编译工具有其便利性,但需要注意的是,反编译出来的源代码可能会丢失原始的注释、变量命名和代码结构,且可能存在语法上的差异。此外,商业软件的反编译可能涉及到版权问题,因此在使用反编译工具时,应确保...
经过该工具反汇编后得到的结果并不是源代码,但是使用javap进行反编译的Java类文件可以得到成员变量、方法、行号以及局部变量名等信息。 代码混淆 代码混淆是保护Java程序的一种方法,即将源代码混淆,使其难以被...
Java源代码反编译是将已编译的Java字节码(.class文件)转换回可读的Java源代码(.java文件)的过程。这个过程对于理解已加密或混淆的代码、学习第三方库的工作原理或者在没有源代码的情况下进行调试非常有用。"小颖Java...
使用这些工具时,需要注意的是,反编译可能会导致源代码的格式和注释丢失,而且反编译的代码可能并不完全与原始源代码一致,特别是在有混淆或者其他优化的情况下。此外,由于版权问题,商业用途的反编译通常需要得到...
JD-GUI是一款直观的图形用户界面工具,专门用于反编译Java的Class文件,从而帮助开发者查看和理解字节码背后的源代码。它不仅适用于单个Class文件,还可以处理包含多个Class文件的.jar档案。在Java开发中,JD-GUI...
【小颖Java源代码反编译超级引挚V1.4版】是一款专门针对Java源代码的反编译工具,其主要功能是将已编译的Java字节码(.class文件)转换回人类可读的Java源代码(.java文件)。在软件开发过程中,有时我们可能需要...
"小颖JAVA源代码反编译引挚 1.4 标准版"是一款针对这个需求设计的工具,主要用于帮助开发者理解和学习Java程序的内部工作原理,或者在没有源代码的情况下进行逆向工程。 首先,我们来了解一下什么是Java反编译。...
在Java开发过程中,有时我们可能需要查看或分析已有的二进制类文件,而原始的源代码已经丢失或者不在我们的手中,这时反编译工具就显得尤为重要。 Java反编译工具是编程领域中的一种技术,它的工作原理是通过对Java...
【小颖 Java 源代码反编译专家】是一款针对Java字节码进行反编译的专业工具,旨在帮助开发者查看并理解已编译的Java类文件的原始源代码。这款软件小巧精悍,操作简便,功能强大,是开发、调试和学习Java技术的重要...
使用JD-GUI非常简单,只需将.jar或.class文件拖放到应用程序窗口,它就会立即显示反编译后的源代码。这个工具的特点包括代码高亮、折叠功能,以及可以方便地查看类、方法和变量等元素。对于程序员来说,它是一款强大...
Java源代码反编译工具是开发者们在探索和学习Java技术时经常需要用到的辅助软件。这类工具能够将已编译的Java字节码(.class文件)转换回可读的Java源代码,使得开发者能够理解并分析已有的二进制程序,这对于逆向...
与其他编程语言相比,Java的反编译更为复杂,因为Java的字节码是经过优化的,不直接映射到源代码行。jd-gui通过解析字节码并尝试重构源代码结构,实现了高质量的反编译效果。 最后,“反编译工具”这一标签表明jd-...