jd-gui反编译成Java,删除每行注释
来源:互联网 发布:手机映射软件 编辑:程序博客网 时间:2024/06/08 02:26
package com.binarysource.utils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
public class ReplaceString {
private static String source = "D:"+File.separator+"workspace"+File.separator+"springMVC"+File.separator+"shopmarket"+File.separator+"src";
private static String target ="D:"+File.separator+"shopmarket"+File.separator+"src";
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<String>();
ReplaceString.find(source, list );
for(String name : list){
ReplaceString.replace(name);
System.out.println(name);
}
}
public static void find(String source, List<String> list) throws IOException {
File rootFile = new File(source);
if (rootFile.isDirectory()) {
File[] files = rootFile.listFiles();
for (File file : files) {
find(file.getCanonicalPath(), list);
}
} else {
list.add(source);
}
}
public static void replace(String filename) throws Exception {
FileInputStream in = new FileInputStream(new File(filename));
BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
File java = new File(filename.replace(source, target));
System.out.println(java.getAbsolutePath());
if(!java.getParentFile().exists()){
java.getParentFile().mkdirs();
}
java.createNewFile();
FileOutputStream out = new FileOutputStream(java);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out,"UTF-8"));
String comment = null;
StringBuilder sb = new StringBuilder();
while ((comment = br.readLine()) != null) {
int first = comment.indexOf("/*");
int last = comment.indexOf("*/");
/* 情况一 */
if (first > -1 && last > 0) {
String aa = new String(comment.substring(last+2,comment.length()));
bw.append(aa);
bw.newLine();
continue;
}
/*
* 情况二
*/
if (sb.length() > 0
|| (comment.indexOf("/*") > -1 && comment.indexOf("*/") == -1)) {
sb.append(comment);
if (comment.indexOf("*/") > -1) {
sb.setLength(0);
}
continue;
}
bw.append(comment);
bw.newLine();
}
br.close();
bw.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
public class ReplaceString {
private static String source = "D:"+File.separator+"workspace"+File.separator+"springMVC"+File.separator+"shopmarket"+File.separator+"src";
private static String target ="D:"+File.separator+"shopmarket"+File.separator+"src";
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<String>();
ReplaceString.find(source, list );
for(String name : list){
ReplaceString.replace(name);
System.out.println(name);
}
}
public static void find(String source, List<String> list) throws IOException {
File rootFile = new File(source);
if (rootFile.isDirectory()) {
File[] files = rootFile.listFiles();
for (File file : files) {
find(file.getCanonicalPath(), list);
}
} else {
list.add(source);
}
}
public static void replace(String filename) throws Exception {
FileInputStream in = new FileInputStream(new File(filename));
BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
File java = new File(filename.replace(source, target));
System.out.println(java.getAbsolutePath());
if(!java.getParentFile().exists()){
java.getParentFile().mkdirs();
}
java.createNewFile();
FileOutputStream out = new FileOutputStream(java);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out,"UTF-8"));
String comment = null;
StringBuilder sb = new StringBuilder();
while ((comment = br.readLine()) != null) {
int first = comment.indexOf("/*");
int last = comment.indexOf("*/");
/* 情况一 */
if (first > -1 && last > 0) {
String aa = new String(comment.substring(last+2,comment.length()));
bw.append(aa);
bw.newLine();
continue;
}
/*
* 情况二
*/
if (sb.length() > 0
|| (comment.indexOf("/*") > -1 && comment.indexOf("*/") == -1)) {
sb.append(comment);
if (comment.indexOf("*/") > -1) {
sb.setLength(0);
}
continue;
}
bw.append(comment);
bw.newLine();
}
br.close();
bw.close();
}
}
0 0
- jd-gui反编译成Java,删除每行注释
- java文件流处理jd-gui反编译后文件中每行的注释符
- JAVA反编译器JD-GUI简介
- .apk文件反编译成.java文件
- apk反编译成java源码
- jar反编译成java工具
- war反编译成java项目
- Editplus 替换 jd-gui 反编后JAVA代码中的注解
- Java的class文件反编译成java文件
- exe4j生成的exe反编译成java代码
- exe4j生成的exe反编译成java代码
- .chm反编译成html
- Java反编译器JAD等的另一种选择JD-Core/JD-GUI
- Java反编译器JAD等的另一种选择JD-Core/JD-GUI
- Java Decompiler (jd-gui)
- Java反编译器JD
- Java反编译器JD
- JD-GUI 反编译器及JD-Eclipse插件
- 读取easyUI组件属性的属性值
- 797B
- 深度学习-目标检测综述
- Myeclipse的使用之hibernate
- SQL查询--查询所需表结构、数据
- jd-gui反编译成Java,删除每行注释
- 临时存储
- 一次完整的 HTTP 请求过程
- 高性能可靠服务集群架构
- php面试题之二——数据结构和算法(高级部分)
- C++中new一个动态数组(内置类型和自定义类型的区别)
- Python常用模块之hashlib
- android 加载dwg 图纸解决方案
- GitHub Android Libraries Top 100 简介