Читання вмісту каталогу (Java)
Для роботи з файлами і каталогами (папками) слугує клас File. Каталог по суті представляє той же File-об'єкт, який містить список інших файлів і каталогів. Перевірка такого об’єкта в java виконується за допомогою методу isDirectory().import java.io.File; //імпортуємо відповідний клас ** * @author volodimirg */ public class AllInFileTest { public static void main(String[] args) { String dirname="D:\\install\\tmp"; // наша робочий каталог File ourFile=new File(dirname); // створюємо File-об'єкт if (ourFile.isDirectory()){ System.out.println("Каталог: "+dirname); String files[]=ourFile.list(); //одержуємо і заносимо список файлів в масив for (int i=0;i<files.length;i++){ File f =new File (dirname+"/"+files[i]); //беремо для перевірки кожен File-об'єкт в каталозі if (f.isDirectory()){ System.out.println(files[i]+" - це каталог"); }else{ System.out.println(files[i]+" - це файл"); } } } } }Каталог: D:\\install\\tmp
1-49і.csv - це файл
1-2і.csv - це файл
1-3і.csv - це файл
1-5і.csv - це файл
1-7і.csv - це файл
1-9і.csv - це файл
1-11і.csv - це файл
1-13і.csv - це файл
1-15і.csv - це файл
1-17і.csv - це файл
1-19і.csv - це файл
1-21і.csv - це файл
1-23і.csv - це файл
1-25і.csv - це файл
1-27і.csv - це файл
1-29і.csv - це файл
1-31і.csv - це файл
1-33і.csv - це файл
1-35і.BAK - це файл
1-47і.csv - це файл
1-45і.csv - це файл
1-43і.csv - це файл
1-41і.csv - це файл
1-39і.csv - це файл
1-37і.csv - це файл
1-51і.csv - це файл
1stTree Lypa40rЖовтня.xlsx - це файл
1-1і.csv - це файл
Other - це каталог
My - це каталог
Проте для виконання поставленої задачі необхідно перебирати файли у посортованому вигляді.
Сортування списку файлів в Java
Порившись в інтернеті можна знайти поради використовувати класи з колекцій пакету java.util і зокрема Comparator для сортування файлів у списку. Хоч це не складний спосіб, та й лінь згадувати і розбиратись, тим більше, що знайшов простіший спосіб. У тому ж пакеті міститься клас Array, який надає ряд зручних методів для роботи з масивами. Зокрема і метод для сортування масиву sort().Таким чином наша програма потребує лише додавання двох рядків:
import java.util.*; //підключаємо відповідний клас Arrays.sort(files); //сортуємо масив, результат повертається у тому ж масивіПовний текст програми наступний.
import java.io.File; //імпортуємо клас File import java.util.Arrays; // імпортуємо клас Arrays /** * @author volodimirg */ public class AllInFileTest { public static void main(String[] args) { String dirname=" D:\\install\\tmp "; // наш робочий каталог File ourFile=new File(dirname); // створюємо File-об'єкт if (ourFile.isDirectory()){ System.out.println("Каталог: "+dirname); String files[]=ourFile.list(); //одержуємо і заносимо список файлів в масив Arrays.sort(files); // сортуємо масив, результат у тому ж масиві for (int i=0;i<files.length;i++){ File f =new File (dirname+"/"+files[i]); //беремо для перевірки кожен File-об'єкт в каталозі if (f.isDirectory()){ System.out.println(files[i]+" - це каталог"); }else{ System.out.println(files[i]+" - це файл"); } } } } }
Немає коментарів:
Дописати коментар