I have some files in a folder stored in Android device.
Folder name = english/
File names = 001-001-0000.png, 001-001-000.png, 001-001-001.png, 001-001,002.png, 001-001-003.png ... upto 001-001-010.png
I have to load them on screen in sorted order by their name. I am using this code
String[] files = dir.list();
Arrays.sort(files, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
});
The result I got is
001-001-000.png 001-001-0000.png 001-001-001.png 001-001,002.png 001-001-003.png ... 001-001-010.png
But when I check on explorer on my Windows PC I got
001-001-0000.png 001-001-000.png 001-001-001.png 001-001,002.png 001-001-003.png ... 001-001-010.png
The difference here is that the file which ends with four 0s (001-001-0000.png) comes before the file which ends with three 0s (001-001-000.png) and I need the same sorting order in my code.