您当前的位置: 首页 >  Java

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java 常用工具方法

梁云亮 发布时间:2019-10-21 18:30:28 ,浏览量:1

文章目录
  • 1、IO相关
    • 1.1、InputStream转换为字符串
    • 1.2、字符串转换为InputStream
  • 2、日期相关
    • 2.1、获取指定时间所对应的timestamp
    • 2.2、java.util.Date与java.sql.Date之间相互转换
  • 3、图片与字节数组
    • 3.1、图片转字节数组
    • 3.2、字节数组转图片
    • 3.3、字节数组转16进制字符串
  • 4、正则表达式相关
    • 4.1、验证邮箱
    • 4.2、验证手机号码

1、IO相关 1.1、InputStream转换为字符串
  • 方法一:
public String inputStream2String(InputStream is) throws Exception{  //字节流转为字符流
    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));  
    StringBuffer buffer = new StringBuffer();
    String line = "";
    while ((line = reader.readLine()) != null) {
	    buffer.append(line);
    }
    reader.close();
    return buffer.toString();
}
  • 方法二:
public static String inputStream2String(InputStream is) {
	String res = new BufferedReader(new InputStreamReader(is))
			.lines()
			.collect(Collectors.joining("\n"));
	return res;
}
  • 方法三:
public static String inputStream2String(InputStream is) {
	String res = new BufferedReader(new InputStreamReader(is))
			.lines()
			.parallel()
			.collect(Collectors.joining("\n"));
	return res;
}
  • 方法四:
public	String inputStream2String(InputStream is) throws Exception {
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	byte[] buffer = new byte[512];// 读取缓存
	int length = 0;
	while ((length = is.read(buffer)) != -1) {
		baos.write(buffer, 0, length);// 写入输出流
	}
	baos.close();// 读取完毕,关闭输入流
	return new String(baos.toByteArray(), "UTF-8");// 根据输出流创建字符串对象
}
  • 方法五:
public static String inputStream2String(InputStream is) throws IOException {
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	byte[] buffer = new byte[512];// 读取缓存
	int length = 0;
	while ((length = is.read(buffer)) != -1) {
		baos.write(buffer, 0, length);// 写入输出流
	}
	baos.close();// 读取完毕,关闭输入流
	return  baos.toString("UTF-8");
}
  • 方法六:
public static String inputStream2String(InputStream is) {
	Scanner scanner = new Scanner(is).useDelimiter("\\A");
	String res  = scanner.hasNext()?scanner.next():"";
	return res;
}
  • 方法七:
public static String inputStream2String(InputStream is) throws IOException {
	BufferedInputStream bis = new BufferedInputStream(is);
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	int res = bis.read();
	while(res != -1) {
		baos.write((byte)res);
		res = bis.read();
	}
	return  baos.toString("UTF-8");
}
  • 方法八(汉字乱码):
public static String inputStream2String(InputStream is) throws IOException {
	int ch;
	StringBuilder sb = new StringBuilder();
	while((ch = is.read()) != -1) {
		sb.append((char)ch);
	}

	return  sb.toString();
}
1.2、字符串转换为InputStream
public InputStream string2InputStream(String str) {
    ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
    return stream;
}
2、日期相关 2.1、获取指定时间所对应的timestamp
public long getTimestamp(String date){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    long res = 0;
    try {
        res = sdf.parse(date).getTime() / 1000;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return  res;
}
2.2、java.util.Date与java.sql.Date之间相互转换
public void date2Date() {
    java.util.Date uDate = new java.util.Date();
    java.sql.Date sDate = new java.sql.Date(uDate.getTime());
    uDate = sDate;
}
3、图片与字节数组 3.1、图片转字节数组
public byte[] img2byteArray(String path) {
    try (FileImageInputStream input = new FileImageInputStream(new File(path));
         ByteArrayOutputStream output = new ByteArrayOutputStream();) {
        byte[] buf = new byte[1024];
        int numBytesRead = 0;
        while ((numBytesRead = input.read(buf)) != -1) {
            output.write(buf, 0, numBytesRead);
        }
        return output.toByteArray();
    } catch (IOException ex1) {
        ex1.printStackTrace();
    }
    return null;
}
3.2、字节数组转图片
/**
 * 字节数组转换为图片
 *
 * @param data 待转换的字节数组
 * @param path 生成的图片的名称(带路径)
 */
public void byteArray2img(byte[] data, String path) {
    if (data.length             
关注
打赏
1665409997
查看更多评论
0.0445s