Task 19 — Операции с файловой системой
Просмотр директорий и работа с файловым деревом.
Редактировать источникЗадание
Просмотр директорий и работа с файловым деревом. Документация собрана по исходному коду этой практики.
Решение
Полный код решения по этой практике:
Исходные файлы решения
Task19/conversion.javaTask19/DirectoryListing.javaTask19/storage.java
Task19/conversion.java
package Task19;
import java.util.ArrayList;
public class conversion<T> {
public static <T> ArrayList<T> convertArrToList(T[] arr){
ArrayList<T> conversion_list = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
conversion_list.add((T) arr[i]);
}
return conversion_list;
}
public static void main(String[] args){
Integer[] arr = new Integer[] {1,2,3,4,56,7,8};
System.out.println(convertArrToList(arr));
}
}
Task19/DirectoryListing.java
package Task19;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class DirectoryListing {
public static void main(String[] args) {
String directoryPath = "D:\\Учеба\\3 семестр\\Java";
List<String> fileList = listFiles(directoryPath);
for (int i = 0; i < Math.min(5, fileList.size()); i++) {
System.out.println(fileList.get(i));
}
}
public static List<String> listFiles(String directoryPath) {
List<String> fileList = new ArrayList<>();
File directory = new File(directoryPath);
File[] files = directory.listFiles();
if (files != null && files.length > 0) {
System.out.println("Первые 5 элементов каталога:");
fileList = Arrays.asList(files).stream().map(File::getName).toList();
} else {
System.out.println("Каталог пуст или не существует.");
}
return fileList;
}
}Task19/storage.java
package Task19;
public class storage<T> {
private T[] array;
public storage(int size) {
this.array = (T[]) new Object[size];
}
public void setElement(int index, T value) {
array[index] = value;
}
public T getElement(int index) {
return array[index];
}
public int getSize() {
return array.length;
}
public String toString(){
for(int i =0; i< array.length;i++){
System.out.println(array[i]);
}
return null;
}
public static void main(String[] args) {
// Пример использования
storage<Integer> intArray = new storage<>(5);
intArray.setElement(0, 1);
intArray.setElement(1, 2);
intArray.setElement(2, 3);
System.out.println("Элемент 1: " + intArray.getElement(1));
intArray.toString();
storage<String> stringArray = new storage<>(3);
stringArray.setElement(0, "Hello");
stringArray.setElement(1, "World");
System.out.println("Элемент 0: " + stringArray.getElement(0));
stringArray.toString();
}
}
Описание
В этом модуле используется 3 Java-файлов. Ключевые сущности: conversion, DirectoryListing, storage.
tip
Для проверки практики сначала запускайте тестовый/демо-класс из папки задачи, затем расширяйте модель новыми кейсами.
Вывод
Task 19 — Операции с файловой системой документирует реальное решение из исходного кода.