文章目录
1、IO相关
1.1、InputStream转换为字符串
- 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、验证手机号码
- 方法一:
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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?