发现工作中一些小的工具类代码还是挺好用的, 比如获取20位ID,判断一个字符串是否都为数字,判断当天是否是当月的第一天 等等这样的代码, 写的时候也比较快, 但是用的多的话, 还是写篇随笔记录下. 到时候再用到的时候可以直接用.
获取20位ID
//获取20位ID public static String getGuid() { HBYAppUtils.Guid+=1; long now = System.currentTimeMillis(); //获取4位年份数字 SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy"); //获取时间戳 String time=dateFormat.format(now); String info=now+""; //获取三位随机数 //int ran=(int) ((Math.random()*9+1)*100); //要是一段时间内的数据连过大会有重复的情况,所以做以下修改 int ran=0; if(HBYAppUtils.Guid>999){ HBYAppUtils.Guid=100; } ran=HBYAppUtils.Guid; return time+info.substring(2, info.length())+ran; }
判断一个字符串是否都为数字
public static HashMap<String, Boolean> isDigit(String str) { HashMap<String, Boolean> map = new HashMap<>(); String reg = "^[0-9]+(.[0-9]+)?$"; boolean isWord = str.matches("[a-zA-Z]+"); boolean isNumber = str.matches(reg); map.put("isWord", isWord); map.put("isNumber", isNumber); return map; }
判断当天是否是当月的第一天,获取昨天的日期
//获取昨天的日期 public static String yesterday() { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, -24); String yesterdayDate = dateFormat.format(calendar.getTime()); return yesterdayDate; } //判断当天是否是当月的第一天 public static boolean isOne() { boolean flag = false; Calendar c = Calendar.getInstance();//可以对每个时间域单独修改 int date = c.get(Calendar.DATE); if (date == 1) { return true; } return flag; }
获取随机六位数验证码
public static String code() { String sources = "0123456789"; // 加上一些字母,就可以生成pc站的验证码了 Random rand = new Random(); StringBuffer flag = new StringBuffer(); for (int j = 0; j < 6; j++) { flag.append(sources.charAt(rand.nextInt(9)) + ""); } return flag.toString(); }
利用流获取PDF某某关键字同一行的内容
public static ArrayList<String> ssxqContent(String path, String ssContent) { ArrayList<String> list = new ArrayList<>(); try { URL url = new URL(path); URLConnection conn = url.openConnection(); PDDocument document = null; // 方式一: InputStream input = conn.getInputStream(); //加载 pdf 文档 PDFParser parser = new PDFParser(new RandomAccessBuffer(input)); parser.parse(); document = parser.getPDDocument(); // 方式二: // document= PDDocument.load(pdfFile); // 获取页码 int pages = document.getNumberOfPages(); // 读文本内容 PDFTextStripper stripper = new PDFTextStripper(); // 设置按顺序输出 stripper.setSortByPosition(true); stripper.setStartPage(1); stripper.setEndPage(pages); String content = stripper.getText(document); //System.out.println(content); String str = ""; BufferedReader bre = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(content.getBytes(Charset.forName("utf8"))), Charset.forName("utf8"))); while ((str = bre.readLine()) != null) { if (str.contains(ssContent)) { list.add(str); } } } catch (Exception e) { e.printStackTrace(); return list; } return list; }