大一时与一个室友一起摸爬滚打里写出来的第一个有实际用处(实际上很鸡肋)的小项目(大概?),目的是快速比对出一个班里谁没有提交文件,前提是命名为学生编号。还没有修完所有bug就被取消使用了,于是发出来给想要参考或者完善的人吧~
楼主现在大二已经弃坑JAVA开始学前端了,感觉这个更让人有动力学习。趁着各种条件允许下做自己想做的事情吧~
import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
import java.io.File;
public class TheWindow {
public static void main(String[] args) {//=========================main========================
Contrast();
System.exit(0);
}
public static String[] getFileName(String path) {
File file = new File(path);
String[] fileName = file.list();
return fileName;
}
public static String Window (){
String fileName;
fileName = JOptionPane.showInputDialog("文件夹所在地");
return fileName;
}
public static void Contrast (){
List<String> studentNum = new ArrayList<>();
List reStudentNum = new ArrayList();
String a;
for (int i = 1; i <= 56; i++) { //其中56是全班人数
a = String.valueOf(i);
studentNum.add(a);//创建标准表
}
String[] fileName = getFileName(Window());//获得文件名
List<String> fileNameNoExResult = new ArrayList<>();
for (int i = 0; i < fileName.length; i++) {//将全部fileName去掉后缀,并加入到fileNameNoExResult
int dot = fileName[i].lastIndexOf('.');
if ((dot >-1) && (dot < (fileName[i].length()))) {
fileNameNoExResult.add(fileName[i].substring(0,dot));
}
}
for (int i = 0; i <56; i++) {//进行比较
if (fileNameNoExResult.contains(studentNum.get(i)) == false){//如果studentNum的第[i]个与标准表不符,则false
reStudentNum.add(studentNum.get(i));
}else {
//reStudentNum.add(i+1);//最终结果加入i
}
}
JOptionPane.showMessageDialog(null,"缺少:"+ reStudentNum+"号","最后结果",JOptionPane.INFORMATION_MESSAGE);
}
}
再一次声明:这个程序是有bug的,因为被临时弃用所以没有进行完善。
用法:
直接运行,填入目标文件夹的位置,程序将自动提取出文件名并去掉后缀,最后和已经提前创建好的标准表比对,输出缺少的文件名。
已知bug:
运行后点击取消会报错