1、IO流創建文本文檔並寫入
public static void write() throws IOException { String path = "E:\\demo\\IO流創建問並循環寫入數據.txt"; File file = new File(path); //驗證是否存在 if (!file.exists()) { // file.getParentFile().mkdirs(); file.getParentFile().mkdirs(); } file.createNewFile(); //寫入數據 FileWriter fileWriter = new FileWriter(file, true); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); for (int i = 0; i < 10000; i++) { //隨機生成10000次姓名+12位密碼 bufferedWriter.write(i + ";" + getChineseName() + ";" +getStringRandom(12)+ "\n"); } //關閉 bufferedWriter.flush(); bufferedWriter.close(); fileWriter.close(); }
2、生成隨機姓名代碼
//生成一個隨機姓名 public static String getChineseName() { String str = null; String name = null; int highPos, lowPos; Random random = new Random(); //區碼,0xA0打頭,從第16區開始,即0xB0=11*16=176,16~55一級漢字,56~87二級漢字 highPos = (176 + Math.abs(random.nextInt(72))); random = new Random(); //位碼,0xA0打頭,范圍第1~94列 lowPos = 161 + Math.abs(random.nextInt(94)); byte[] bArr = new byte[2]; bArr[0] = (new Integer(highPos)).byteValue(); bArr[1] = (new Integer(lowPos)).byteValue(); try { //區位碼組合成漢字 str = new String(bArr, "GB2312"); int index = random.nextInt(Surname.length - 1); //獲得一個隨機的姓氏 name = Surname[index] + str; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return name; }
2.1、百家姓
//百家姓 private static final String[] Surname = {"趙", "錢", "孫", "李", "周", "吳", "鄭", "王", "馮", "陳", "褚", "衛", "蔣", "沈", "韓", "楊", "朱", "秦", "尤", "許", "何", "呂", "施", "張", "孔", "曹", "嚴", "華", "金", "魏", "陶", "姜", "戚", "謝", "鄒", "喻", "柏", "水", "竇", "章", "雲", "蘇", "潘", "葛", "奚", "范", "彭", "郎", "魯", "韋", "昌", "馬", "苗", "鳳", "花", "方", "俞", "任", "袁", "柳", "酆", "鮑", "史", "唐", "費", "廉", "岑", "薛", "雷", "賀", "倪", "湯", "滕", "殷", "羅", "畢", "郝", "鄔", "安", "常", "樂", "於", "時", "傅", "皮", "卞", "齊", "康", "伍", "余", "元", "卜", "顧", "孟", "平", "黃", "和", "穆", "蕭", "尹", "姚", "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "貝", "明", "臧", "計", "伏", "成", "戴", "談", "宋", "茅", "龐", "熊", "紀", "舒", "屈", "項", "祝", "董", "梁", "杜", "阮", "藍", "閔", "席", "季", "麻", "強", "賈", "路", "婁", "危", "江", "童", "顏", "郭", "梅", "盛", "林", "***", "鍾", "徐", "邱", "駱", "高", "夏", "蔡", "田", "樊", "胡", "凌", "霍", "虞", "萬", "支", "柯", "昝", "管", "盧", "莫", "經", "房", "裘", "繆", "干", "解", "應", "宗", "丁", "宣", "賁", "鄧", "郁", "單", "杭", "洪", "包", "諸", "左", "石", "崔", "吉", "鈕", "龔", "程", "嵇", "邢", "滑", "裴", "陸", "榮", "翁", "荀", "羊", "於", "惠", "甄", "曲", "家", "封", "芮", "羿", "儲", "靳", "汲", "邴", "糜", "松", "井", "段", "富", "巫", "烏", "焦", "巴", "弓", "牧", "隗", "山", "谷", "車", "侯", "宓", "蓬", "全", "郗", "班", "仰", "秋", "仲", "伊", "宮", "寧", "仇", "欒", "暴", "甘", "鈄", "厲", "戎", "祖", "武", "符", "劉", "景", "詹", "束", "龍", "葉", "幸", "司", "韶", "郜", "黎", "薊", "溥", "印", "宿", "白", "懷", "蒲", "邰", "從", "鄂", "索", "咸", "籍", "賴", "卓", "藺", "屠", "蒙", "池", "喬", "陰", "郁", "胥", "能", "蒼", "雙", "聞", "莘", "黨", "翟", "譚", "貢", "勞", "逄", "姬", "申", "扶", "堵", "冉", "宰", "酈", "雍", "卻", "璩", "桑", "桂", "濮", "牛", "壽", "通", "邊", "扈", "燕", "冀", "浦", "尚", "農", "溫", "別", "庄", "晏", "柴", "瞿", "閻", "充", "慕", "連", "茹", "習", "宦", "艾", "魚", "容", "向", "古", "易", "慎", "戈", "廖", "庾", "終", "暨", "居", "衡", "步", "都", "耿", "滿", "弘", "匡", "國", "文", "寇", "廣", "祿", "闕", "東", "歐", "殳", "沃", "利", "蔚", "越", "夔", "隆", "師", "鞏", "厙", "聶", "晁", "勾", "敖", "融", "冷", "訾", "辛", "闞", "那", "簡", "饒", "空", "曾", "毋", "沙", "乜", "養", "鞠", "須", "豐", "巢", "關", "蒯", "相", "查", "后", "荊", "紅", "游", "郟", "竺", "權", "逯", "蓋", "益", "桓", "公", "仉", "督", "岳", "帥", "緱", "亢", "況", "郈", "有", "琴", "歸", "海", "晉", "楚", "閆", "法", "汝", "鄢", "塗", "欽", "商", "牟", "佘", "佴", "伯", "賞", "墨", "哈", "譙", "篁", "年", "愛", "陽", "佟", "言", "福", "南", "火", "鐵", "遲", "漆", "官", "冼", "真", "展", "繁", "檀", "祭", "密", "敬", "揭", "舜", "樓", "疏", "冒", "渾", "摯", "膠", "隨", "高", "皋", "原", "種", "練", "彌", "倉", "眭", "蹇", "覃", "阿", "門", "惲", "來", "綦", "召", "儀", "風", "介", "巨", "木", "京", "狐", "郇", "虎", "枚", "抗", "達", "杞", "萇", "折", "麥", "慶", "過", "竹", "端", "鮮", "皇", "亓", "老", "是", "秘", "暢", "鄺", "還", "賓", "閭", "辜", "縱", "侴", "萬俟", "司馬", "上官", "歐陽", "夏侯", "諸葛", "聞人", "東方", "赫連", "皇甫", "羊舌", "尉遲", "公羊", "澹台", "公冶", "宗正", "濮陽", "淳於", "單於", "太叔", "申屠", "公孫", "仲孫", "軒轅", "令狐", "鍾離", "宇文", "長孫", "慕容", "鮮於", "閭丘", "司徒", "司空", "兀官", "司寇", "南門", "呼延", "子車", "顓孫", "端木", "巫馬", "公西", "漆雕", "車正", "壤駟", "公良", "拓跋", "夾谷", "宰父", "谷梁", "段干", "百里", "東郭", "微生", "梁丘", "左丘", "東門", "西門", "南宮", "第五", "公儀", "公乘", "太史", "仲長", "叔孫", "屈突", "爾朱", "東鄉", "相里", "胡母", "司城", "張廖", "雍門", "毋丘", "賀蘭", "綦毋", "屋廬", "獨孤", "南郭", "北宮", "王孫"};
3.生成12位隨機密碼(數字加英文)
//生成隨機數字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //length為幾位密碼 for (int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; //輸出字母還是數字 if ("char".equalsIgnoreCase(charOrNum)) { //輸出是大寫字母還是小寫字母 int temp = random.nextInt(2) % 2 == 0 ? 65 : 97; val += (char) (random.nextInt(26) + temp); } else if ("num".equalsIgnoreCase(charOrNum)) { val += String.valueOf(random.nextInt(10)); } } return val; }
P:小白手寫,不喜勿噴