package com.cn.travel.utils;
import java.util.UUID;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 说明:常用工具
*
*
* @version
*/
public class Tools {
/**
* 随机生成六位数验证码
* @return
*/
public static int getRandomNum(){
Random r = new Random();
return r.nextInt(900000)+100000;//(Math.random()*(999999-100000)+100000)
}
/**
* 检测字符串是否不为空(null,"","null")
* @param s
* @return 不为空则返回true,否则返回false
*/
public static boolean notEmpty(String s){
return s!=null && !"".equals(s) && !"null".equals(s);
}
/**
* 检测字符串是否不为空(null,"","null")
* @param s
* @return 不为空则返回true,否则返回false
*/
public static boolean notEmpty(Object s){
return s!=null && !"".equals(s) && !"null".equals(s);
}
/**
* 检测字符串是否为空(null,"","null")
* @param s
* @return 为空则返回true,不否则返回false
*/
public static boolean isEmpty(String s){
return s==null || "".equals(s) || "null".equals(s);
}
/**
* 检测字符串是否为空(null,"","null")
* @param s
* @return 为空则返回true,不否则返回false
*/
public static boolean isEmpty(Object s){
return s==null || "".equals(s) || "null".equals(s);
}
/**
* 字符串转换为字符串数组
* @param str 字符串
* @param splitRegex 分隔符
* @return
*/
public static String[] str2StrArray(String str,String splitRegex){
if(isEmpty(str)){
return null;
}
return str.split(splitRegex);
}
/**
* 用默认的分隔符(,)将字符串转换为字符串数组
* @param str 字符串
* @return
*/
public static String[] str2StrArray(String str){
return str2StrArray(str,",\\s*");
}
/**
* 按照yyyy-MM-dd HH:mm:ss的格式,日期转字符串
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
public static String date2Str(Date date){
return date2Str(date,"yyyy-MM-dd HH:mm:ss");
}
/**
* 按照yyyy-MM-dd HH:mm:ss的格式,字符串转日期
* @param date
* @return
*/
public static Date str2Date(String date){
if(notEmpty(date)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return new Date();
}else{
return null;
}
}
/**
* 按照参数format的格式,日期转字符串
* @param date
* @param format
* @return
*/
public static String date2Str(Date date,String format){
if(date!=null){
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}else{
return "";
}
}
/**
* 把时间根据时、分、秒转换为时间段
* @param StrDate
*/
public static String getTimes(String StrDate){
String resultTimes = "";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now;
try {
now = new Date();
Date date=df.parse(StrDate);
long times = now.getTime()-date.getTime();
long day = times/(24*60*60*1000);
long hour = (times/(60*60*1000)-day*24);
long min = ((times/(60*1000))-day*24*60-hour*60);
long sec = (times/1000-day*24*60*60-hour*60*60-min*60);
StringBuffer sb = new StringBuffer();
//sb.append("发表于:");
if(hour>0 ){
sb.append(hour+"小时前");
} else if(min>0){
sb.append(min+"分钟前");
} else{
sb.append(sec+"秒前");
}
resultTimes = sb.toString();
} catch (ParseException e) {
e.printStackTrace();
}
return resultTimes;
}
/**
* 写txt里的单行内容
* @param fileP 文件路径
* @param content 写入的内容
*/
public static void writeFile(String fileP,String content){
String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //项目路径
filePath = (filePath.trim() + fileP.trim()).substring(6).trim();
if(filePath.indexOf(":") != 1){
filePath = File.separator + filePath;
}
try {
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(filePath),"utf-8");
BufferedWriter writer=new BufferedWriter(write);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 验证邮箱
* @param email
* @return
*/
public static boolean checkEmail(String email){
boolean flag = false;
try{
String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
/**
* 验证手机号码
* @param mobileNumber
* @return
*/
public static boolean checkMobileNumber(String mobileNumber){
boolean flag = false;
try{
Pattern regex = Pattern.compile("^1[3|4|5|7|8][0-9]{9}$");
Matcher matcher = regex.matcher(mobileNumber);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
/**
* 读取txt里的单行内容
* @param fileP 文件路径
*/
public static String readTxtFile(String fileP) {
try {
String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //项目路径
filePath = filePath.replaceAll("file:/", "");
filePath = filePath.replaceAll("%20", " ");
filePath = filePath.trim() + fileP.trim();
if(filePath.indexOf(":") != 1){
filePath = File.separator + filePath;
}
String encoding = "utf-8";
File file = new File(filePath);
if (file.isFile() && file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), encoding); // 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
return lineTxt;
}
read.close();
}else{
System.out.println("找不到指定的文件,查看此路径是否正确:"+filePath);
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
}
return "";
}
/**
* 校验字符串是否为数字
* @param str
* @return
*/
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9.]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
/**
* 自动生成32位的UUid,对应数据库的主键id进行插入用。
* @return
*/
public static String getUUID() {
return UUID.randomUUID().toString().replace("-", "");
}
public static void main(String[] args) {
System.out.println(getRandomNum());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
前后端数据完整 包含用户管理 旅游线路管理 景点管理 酒店管理 留言管理 旅游攻略 车票管理 保险管理 业务销售管理 财务管理 各种旅游数据分析报表等 前台 地址:http://localhost/index 账号:user 密码:123456 后台 地址:http://localhost/login 账号:root 密码:123456
资源推荐
资源详情
资源评论
收起资源包目录
基于Thymeleaf+SpringBoot+Mybatis实现的旅游信息管理系统 (1273个子文件)
Tools.class 7KB
StrategyController.class 6KB
UserPortalController.class 6KB
TravelRouteController.class 6KB
ScenicSpotController.class 6KB
InsuranceController.class 6KB
HotelController.class 6KB
CarController.class 6KB
HotelPortalController.class 6KB
ScenicSpotPortalController.class 5KB
UserController.class 5KB
TravelRoutePortalController.class 5KB
InsurancePortalController.class 5KB
CarPortalController.class 5KB
AdminController.class 5KB
MessageController.class 5KB
DataController.class 5KB
OrderController.class 4KB
OrderService.class 4KB
MessagePortalController.class 4KB
MessageService.class 4KB
InsuranceService.class 4KB
TravelRouteService.class 4KB
ScenicSpotService.class 4KB
CarService.class 4KB
HotelService.class 3KB
UserService.class 3KB
StrategyService.class 3KB
Order.class 3KB
OrderPortalController.class 3KB
AdminService.class 3KB
LoginController.class 3KB
CarSqlProvider.class 3KB
OrderSqlProvider.class 3KB
PageBean.class 3KB
InsuranceSqlProvider.class 3KB
TravelRouteSqlProvider.class 3KB
ScenicSpotSqlProvider.class 3KB
StrategyPortalController.class 3KB
TravelRoute.class 3KB
Car.class 3KB
UserSqlProvider.class 3KB
HotelSqlProvider.class 2KB
PageParam.class 2KB
StrategySqlProvider.class 2KB
ManagerController.class 2KB
BaseController.class 2KB
ScenicSpot.class 2KB
MessageSqlProvider.class 2KB
AdminSqlProvider.class 2KB
Hotel.class 2KB
WebAppConfig.class 2KB
UserDao.class 2KB
Insurance.class 2KB
ManagerInterceptor.class 2KB
User.class 2KB
InsuranceDao.class 2KB
TravelRouteDao.class 2KB
OrderDao.class 2KB
ScenicSpotDao.class 2KB
CarDao.class 2KB
BaseDomain.class 2KB
AdminDao.class 2KB
StrategyDao.class 2KB
TravelApplicationTests.class 2KB
HotelDao.class 2KB
MessageDao.class 2KB
Strategy.class 2KB
Message.class 2KB
IndexController.class 2KB
TravelApplication.class 1KB
Admin.class 1KB
MybatisConf.class 1KB
IOrderService.class 1KB
IMessageService.class 1KB
IUserService.class 979B
IScenicSpotService.class 946B
ITravelRouteService.class 932B
IInsuranceService.class 906B
UserCenterController.class 897B
IStrategyService.class 893B
IHotelService.class 854B
IAdminService.class 853B
Porvice.class 837B
ICarService.class 828B
AttentionController.class 634B
BaseDao.class 345B
IBaseDomainService.class 144B
mvnw.cmd 5KB
config 322B
common.css 42KB
common.css 42KB
layui.css 31KB
layui.css 31KB
layer.css 14KB
layer.css 14KB
laydate.css 8KB
laydate.css 8KB
layui.mobile.css 8KB
layui.mobile.css 8KB
共 1273 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
- 舍得5612022-07-21资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
办公模板库素材蛙
- 粉丝: 1553
- 资源: 2289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功