java - can't rename all files in a folder -
java - can't rename all files in a folder -
i have pictures in folder on sdcard these names:
000.jpg 001.jpg 002.jpg 003.jpg 004.jpg ...
the sort of names of import , should this. want maintain sort after deleting photo. mean if deleted illustration 3rd photo, 4th photo should renamed 002, 5th 003 , on.
i writed code purpose:
// "myfiles" file array of directory listfiles. // "str1" folder name , checked existences before // "numb" pic number should delete. file pic = new file(environment.getexternalstoragedirectory() + "/albummaker/" + str1 + "/" + string.format("%03d", numb) + ".jpg"); pic.delete(); // myfiles (i mean after deleting). (int = numb; < myfiles.length; i++) { file f = new file(environment.getexternalstoragedirectory() + "/albummaker/" + str1 + "/"+myfiles[i].getname()); f.renameto(new file(environment.getexternalstoragedirectory() + "/albummaker/" + str1 + "/"+string.format("%03d", i)+".jpg")); }
but when run deletes photos before deleted 1 (in case 001 , 002) , rename rest of them (and i'll have 3 photos after (002, 003, 004)).
any idea?
just delete file , restore ordering afterwards. rename them numbering 1 upwards.
this pseudo-code:
// first rid of file albumfile.delete(); // restore ordering in album organizealbum(albumdir); void organizealbum(albumdir) { var files = albumdir.getfiles("*.jpg"); var sortedfiles = files.sort(); // sort ascending 000.jpg 999.jpg int index = 1; foreach (file in files) { file.rename(index.tostring("###") + ".jpg"); index += 1; } }
this pseudo-code, can figure out in android java.
java android
Comments
Post a Comment