import java.io.File;
public class HashMkDir{
public static void main(String[] args) throws Exception {
//測試是否只創建255個文件夾
for(int min = 0;min<1000000;min++){
//生成隨機數
int a = (int) (Math.random()*100000000);
//轉換成String 類型
String s = Integer.toString(a);
//調用 hashCode 方法把傳入的字符串轉換成一個0-255之間的數
String hashpath = Integer.toString(hashCode(s,255));
//創建文件夾
File file = new File("D:/hashMKDir/"+hashpath);
if (!file.exists()) {
file.mkdirs();
}
System.out.println(hashCode(s,255));
}
}
/**
* @param key: A String you should hash
* @param HASH_SIZE: An integer
* @return an integer
*/
public static int hashCode(String keys,int HASH_SIZE) {
char[] key = keys.toCharArray();
long sum = (int)key[0];//sum * 33可能會超出int範圍
for(int i = 1; i < key.length; i++) {
sum = sum * 33 % HASH_SIZE + (int)key[i];//即使求餘,否則超出long範圍
}
return (int)(sum % HASH_SIZE);
}
}
效果圖:腦補!!!!