package Ġcom . h up ub ao . utils Ċ Ċ import Ġcom . alibaba . fastjson . JSON Ċ import Ġcom . alibaba . fastjson . JSONArray Ċ import Ġcom . alibaba . fastjson . JSONObject Ċ import Ġcom . alibaba . fastjson . serializer . Serializer Feature Ċ import Ġorg . apache . commons . io . FileUtils Ċ import Ġcom . h up ub ao . beans . History Ċ import Ġjava . io . File Ċ Ċ object ĠHistory Utils Ġ{ ĊĊĠĠĠ Ġval Ġencoding Ġ= ĠChar sets . UTF _ 8 ĊĠĠĠ Ġval Ġpath Ġ= ĠSystem . getProperty (" user . dir ") Ġ+ Ġ"/ history / download . history " ĊĠĠĠ Ġvar Ġfile : ĠFile ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfile Ġ= ĠFile ( path ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! file . parent File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile . parent File . mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile . createNew File () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġfun Ġsave History ( history : ĠHistory ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfigs Ġ= Ġget History () ĊĠĠĠĠĠĠĠ Ġconfigs . remove If Ġ{ Ġ( it Ġas ĠJSONObject ). getString (" name ") Ġ== Ġhistory . name Ġ} ĊĠĠĠĠĠĠĠ Ġconfigs . add ( history ) ĊĠĠĠĠĠĠĠ Ġfile . write Text ( JSON . toJSON String ( configs , ĠSerializer Feature . Pretty Format ), Ġencoding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget History (): ĠJSONArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠFileUtils . readFile ToString ( file , Ġencoding ) ĊĠĠĠĠĠĠĠ Ġvar Ġconfigs Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠ Ġif Ġ(! str . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigs Ġ= ĠJSONArray . parse Array ( str ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġconfigs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdel ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhistory s Ġ= Ġget History () ĊĠĠĠĠĠĠĠ Ġhistory s . remove If Ġ{ Ġ( it Ġas ĠJSONObject ). getString (" name ") Ġ== Ġname Ġ} ĊĠĠĠĠĠĠĠ Ġfile . write Text ( JSON . toJSON String ( history s , ĠSerializer Feature . Pretty Format ), Ġencoding ) ĊĠĠĠ Ġ} Ċ } ĊĊ