public class NeedTableDaoImp {
private String _getPath(HttpServletRequest request){
String needDbPath = request.getSession().getServletContext().getRealPath("/");
needDbPath += "localdb"+ File.separator +"needtable.txt" ;
return needDbPath ;
}
public List<JSONObject> queryNeeds(HttpServletRequest request) throws IOException{
List<JSONObject> result = Lists.newArrayList() ;
List<String> rows = Files.readLines(new File(_getPath(request)) , Charsets.UTF_8) ;
for(String row : rows){
JSONObject json = JSONObject.parseObject(row) ;
result.add(json) ;
}
return result ;
}
public synchronized List<JSONObject> addNeed(HttpServletRequest request , String need_desc , String need_people , String need_sql) throws IOException{
JSONObject json = new JSONObject() ;
json.put("need_desc" , need_desc) ;
json.put("need_people" , need_people) ;
json.put("need_sql" , need_sql) ;
json.put("need_time" , DateUtils.DateToString(new Date() , DateStyle.YYYY_MM_DD_HH_MM_SS)) ;
List<JSONObject> rows = queryNeeds(request) ;
rows.add(json) ;
Collections.reverse(rows) ;
File writename = new File(_getPath(request)) ; // 相对路径,如果没有则要建立一个新的output。txt文件
writename.createNewFile(); // 创建新文件
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
for(JSONObject row : rows){
out.write(row.toJSONString() + "\n") ; // \r\n即为换行
}
out.flush(); // 把缓存区内容压入文件
out.close(); // 最后记得关闭文件
return rows ;
}
}
guava文件操作
最新推荐文章于 2024-01-12 15:27:29 发布