SORU
26 AĞUSTOS 2011, Cuma


nasıl Dosya için.alfabetik sırayla listFiles?

Aşağıdaki gibi bir kod var:

class ListPageXMLFiles implements FileFilter {

        @Override
        public boolean accept(File pathname) {
                DebugLog.i("ListPageXMLFiles", "pathname is "   pathname);

                String regex = ".*page_\\d{2}\\.xml";
                if(pathname.getAbsolutePath().matches(regex)) {
                        return true;
                }
                return false;
        }
}

public void loadPageTrees(String xml_dir_path) {
        ListPageXMLFiles filter_xml_files = new ListPageXMLFiles();
        File XMLDirectory = new File(xml_dir_path);
        for(File _xml_file : XMLDirectory.listFiles(filter_xml_files)) {
                loadPageTree(_xml_file);
        }
}

FileFilter güzel çalışıyor, ama listFiles() ters alfabetik olarak dosyaları Listeleme gibi görünüyor. listFile() dosyaları alfabetik olarak listelemek için söylemenin daha hızlı bir yolu var mı?

CEVAP
26 AĞUSTOS 2011, Cuma


listFiles yöntemi, ya da bir filtre olmadan herhangi bir sıra garantisi vermez.

Ancak Arrays.sort() sıralayabilirsiniz olan bir dizi döndürür.

File[] files = XMLDirectory.listFiles(filter_xml_files);
Arrays.sort(files);
for(File _xml_file : files) {
    ...
}

Bu File varsayılan yol adlarını lexicographically hangi tür benzer bir sınıf, çünkü çalışır. Eğer onları farklı şekilde sıralamak isterseniz, kendi benzer tanımlayabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cdgotx

    cdgotx

    8 Kasım 2011
  • circuschina

    circuschina

    16 Mart 2007
  • monkophile

    monkophile

    25 Temmuz 2007