时间字符串
//获取时间字符串
String curTime = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
文件写出
/**
* @param dbDataList 从数据库中查询出来的结果集,封装到List<Map>中,这里根据需求进行更改
* @param path 将文件生成到本地或者指定路径下
* @param fileName 生成文件的文件名
* @return
*/
public static boolean createJsonFile(List<Map<String, Object>> dbDataList, String path, String fileName) {
boolean flag = false;
Map<String, Object> map = new HashMap<>();
map.put("data", dbDataList);
// JSONObject转换时,如果字段字段值为null,则会忽略该字段,我们让它不会忽略字段为空的字段
String jsonStr = JSONObject.toJSONString(map, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
/* JSONObject jsonObject = (JSONObject) JSONObject.toJSON(map);
String jsonStr = jsonObject.toString();*/
jsonStr = JsonFormatTool.formatJson(jsonStr);
try {
//File.separator 这里指的是目录之间的分隔符,即 /
String fullPath = path + File.separator + fileName + ".json";
File file = new File(fullPath);
//创建文件的时候,如果该文件的父路径不存在,则创建父路径上相关的文件夹
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
//如果需要创建的文件已经存在,删除旧的文件
if (file.exists()) {
file.delete();
}
flag = file.createNewFile();
//写入内容的时候指定编码格式,避免乱码
Writer os = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
os.write(jsonStr);
os.flush();
os.close();
} catch (IOException e) {
flag = false;
e.printStackTrace();
}
return flag;
}
生成按日期分类文件夹路径
public static String createPath() {
StringBuilder s = new StringBuilder();
String curTime = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
// String date = curTime.substring(0, 8);
String date = curTime.substring(0, 6);
String day = curTime.substring(6, 8);
//生成文件夹
String path = s.append("D://水电煤气/" + date + "/" + day).toString();
return path;
}