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

  • andony5589

    andony5589

    7 Aralık 2011
  • RawBrahs

    RawBrahs

    28 Aralık 2010
  • SignatureSeries

    SignatureSer

    24 Aralık 2006