java me - codenameone - Storage file doesn't delete -
i've added storage file codenameone application. in event wanna delete specific storage file , recreate old filtered data , new data. doesn't work on deletion.
first create method clear storage file in storagemanager class:
public void cleardata(string pstoragetable){ storage.getinstance().deletestoragefile(pstoragetable); }
in other class use method this:
// load data of specific storage file // ... new dbmanager().cleardata(threetrans.db_name); // write old data filtering of specific id , new data // ...
here method of write data:
public void write(threetrans ptt){ if(store == null) { store = storage.getinstance(); } db_name = "tt"; if(!store.exists(db_name)) { hashtable dephash = new hashtable(); string k = "1" + ptt.getnumber(); dephash.put(k, ptt.tostring()); store.writeobject(db_name, dephash); } else { hashtable dephash = (hashtable)store.readobject(db_name); if (!dephash.containsvalue(ptt.getnumber())) { string k = string.valueof(getlastkeynumber()); dephash.put(k, ptt.tostring()); store.writeobject(db_name, dephash); } } }
at first using method delete storage file:
public void cleardata(string pstoragetable){ if(store == null) { store = storage.getinstance(); } (string str : store.listentries()) { if(str.tolowercase().startswith(pstoragetable)) { store.deletestoragefile(str); } } }
and after problem method changed this;
public void cleardata(string pstoragetable){ storage.getinstance().deletestoragefile(pstoragetable); }
i'm assuming didn't invoke close() on output stream or input stream working file , there still lock on file. case such issues.
Comments
Post a Comment