Читання вмісту каталогу (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\\tmp1-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]+" - це файл");
}
}
}
}
}
Немає коментарів:
Дописати коментар