java重复代码扫描 java有重复的数据

静态代码扫描工具 哪个好 java1、 Checkstyle
Checkstyle 是SourceForge的开源项目,通过检查对代码编码格式,命名约定 , Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范 。Checkstyle 提供了支持大多数常见IDE的插件 。
2、FindBugs
FindBugs 是由马里兰大学提供的一款开源 Java 静态代码分析工具 。FindBugs 通过检查类文件或 JAR 文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷 , 完成静态代码分析 。FindBugs 既提供可视化 UI 界面 , 同时也可以作为 Eclipse 插件使用 。
3、PMD
PMD 是由 DARPA 在 SourceForge 上发布的开源 Java 代码静态分析工具 。PMD 通过其内置的编码规则对 Java 代码进行静态检查 , 主要包括对潜在的 bug,未使用的代码,重复的代码,循环体创建新对象等问题的检验 。PMD 提供了和多种 Java IDE 的集成 , 例如 Eclipse,IDEA,NetBean 等 。
4、Jtest
Jtest 是Parasoft 公司推出的一款针对Java语言的自动化代码优化和测试工具 , Jtest 的静态代码分析功能能够按照其内置的超过800条的 Java 编码规范自动检查并纠正这些隐蔽且难以修复的编码错误 。同时,还支持用户自定义编码规则 , 帮助用户预防一些特殊用法的错误 。
如何用java或者c#写个扫描整个文件夹及子文件夹,验证多个文件的md5值,并将md5值重复但不同java的 , 我已经测试可以使用 。
但是单个文件很大的话可能算md5会比较慢
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
public class Main
{
ArrayListString md5List = new ArrayListString();
public String getMd5(File file){
String value = https://www.04ip.com/post/null;
FileInputStream in = null;
try {
in = new FileInputStream(file);
MappedByteBuffer byteBuffer = in.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, file.length());
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(byteBuffer);
BigInteger bi = new BigInteger(1, md5.digest());
value = https://www.04ip.com/post/bi.toString(16);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(null != in) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return value;
}
public void run(File file) {
if(file != null){
if(file.isDirectory()){
File f[] = file.listFiles();
if(f != null) {
for(int i = 0; if.length; i)
run(f[i]);
}
} else {
String md5 = getMd5(file);
if(md5List.contains(md5)) {
System.out.println(file.toString());
file.delete();
} else {
md5List.add(md5);
}
}
}
}
public static void main(String args[]) {
Main m = new Main();
String path = "D:\\test";
m.run(new File(path));
}
}
我想把这段java代码封装,重复代码太多了你把重复的代码提取出来封装成一个方法不就是了,无非就是
private void SendData(int screenid,int controlid,String info)
{
UpdateTextData data=https://www.04ip.com/post/new UpdateTextData();
data.setScreen_id(screenid);
data.setControl_id(controlid);
data.SetStrings(info);
ListByte.......
RS232.write.......
}
之后在你的popupAlertWindow里就可以写
SendData(7,5,String.valueOf(code));
SendData(7,5,type);
SendData(7,5,info);
Java 写重复代码这么长居然是一个语句 。。
不应该图简便这么写吧
一个一个create然后add
这样用for循环就可以重复addjava重复代码扫描了阿
【java重复代码扫描 java有重复的数据】关于java重复代码扫描和java有重复的数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读