我想对listFiles中不包含字符串的整数进行排序。最小的数字将显示“最小的数字=”,最大的数字将显示“最大的数字=”
public static void main(String[] args) {
// TODO Auto-generated method stub
File folder = new File("input/");
File [] files = folder.listFiles();
for(int i = 0; i < files.length-1;i++) {
String fileFullName = files[i].getName();
String fileSimple= fileFullName.substring(2,fileFullName.length()-4);
long fileNumber =Long.parseLong(fileSimple);
String fileFullName2 = files[i+1].getName();
String fileSimple2= fileFullName2.substring(2,fileFullName2.length()-4);
long fileNumber2 =Long.parseLong(fileSimple2);
}
}
文件名包括HR20190405.txt,AR20290405.txt,RG20290805.txt,RK21290405.txt
最佳答案
summaryStatistics
中有合适的方法IntStream
。使用流API,它将看起来像:
IntSummaryStatistics stat = Arrays.stream(files)
.mapToInt(file -> Integer.valueOf(file.getName().substring(2, file.getName().length() - 4)))
.summaryStatistics();
System.out.println(stat.getMin());
System.out.println(stat.getMax());