Я знаю, что мой заголовок вводит вас в заблуждение, но я не был уверен, как его поместить.Файлы не сортируются правильно
В основном у меня есть папка с изображениями с именами: 0.png до 100.png. Когда я пытаюсь загрузить их с следующим способом:
public static void buildImageList() {
Main.log("Building list of image files...");
File[] files = new File(Constants.getImageLocation()).listFiles();
int id = 0;
for (File file : files) {
if (file.isDirectory()) {
continue;
}
if (!file.getName().contains(".png") && !file.getName().contains(".jpg") && !file.getName().contains(".jpeg") && !file.getName().contains(".PNG")) {
continue;
}
imageFiles.add(new FileImage(id, fileToByteArray(file)));
id++;
}
Main.log("Found " + imageFiles.size() + " images in the folder!");
}
Я получаю файлы не в упорядоченной последовательности: 0.png, 1.png, 10.png 11.png, и так далее.
Что мне нужно изменить, чтобы получить 0.png, 1.png, 2.png, 3.png?
Thats потому что имена файлов являются «String» type – Ramanlfc
Вы получаете естественный порядок строк. Чтобы получить что-то другое, вам нужно будет прочитать все имена файлов в списке и отсортировать его с помощью компаратора, который берет префикс имени файла и сравнивает его численно с другими. – Thevenin
Откуда вы знаете порядок файлов? Ваш фрагмент кода печатает только страну. – Thevenin