diff --git a/exw8.java b/exw8.java new file mode 100644 index 0000000..baa4c3b --- /dev/null +++ b/exw8.java @@ -0,0 +1,103 @@ +//第八周作业 +import java.util.Scanner; +import java.io.*; +import java.security.MessageDigest; +//import java.util.Date; //** + +public class exw8 +{ + //SHA1计算哈希值 + public static byte[] SHA1Checksum(InputStream instream) throws Exception + { + byte[] buffer = new byte[1024]; + MessageDigest complete=MessageDigest.getInstance("SHA-1"); + int numRead=0; + do{ + numRead=instream.read(buffer); + if(numRead>0) + { + complete.update(buffer,0,numRead); + } + //文件已读完,退出循环 + }while (numRead != -1); + //关闭输入流 + instream.close(); + //返回SHA1哈希值 + return complete.digest(); + } + + //在存入fs列表前,对listFiles()方法取出来的东西进行排序,按照最后修改时间的由新到老* + public static File[] sortAfter_listFileMeth(File[] fs) + { + File temp; + for(int i=0 ; i fs[j].lastModified()) + { + temp=fs[i]; + fs[i]=fs[j]; + fs[j]=temp; + } + } + } + return fs; + } + + //深度优先遍历文件夹 + public static void dirDepthFirstTravel(String dirPath) + { + File dir=new File(dirPath); + File[] fs = sortAfter_listFileMeth( dir.listFiles() ); //使用了sortAfter_listFileMeth()排序 + String result = ""; + for(int i=0 ; i