niofilecommander

Эта статья является частью книги Java. Состояние языка и его перспективы (2022).

Давно я не писал ничего сюда, так как повторял английский. Но теперь я с этим практически закончил. Да и вообще, пора, наконец, вспомнить, для чего создавался этот сайт!

Эта статья посвящена моей поделке годичной давности — niofilecommander, который является по своей сути небольшим простеньким файловым менеджером на Java. Он использует классы из пакета java.nio.file.*, который предоставляет простой и понятный способ работы с файлами.Выглядит niofilecommander так:

file manager файловый менеджер, niofilecommander

Написал я его во время изучения основ Java буквально за пару дней.

Возможности niofilecommander:

  • Две панели.
  • Перемещение файлов и каталогов.
  • Копирование файлов и каталогов.
  • Удаление файлов и каталогов.
  • Прописывание метаинформации: права доступа, дата и время создания, дата и время редактирования.
  • Создание символических ссылок.
  • Создание жёстких ссылок.
  • Поиск файлов по регулярному выражению.
  • Подписывается на событие изменения содержимого каталога, и при появлении нового файла сразу отображает его в списке.

Этот файловый менеджер вряд ли кто-нибудь будет использовать для работы, но его вполне можно использовать при изучении Java.

В его исходных кодах можно найти отличные примеры использования интерфейса java.nio.file.FileVisitor, класса java.nio.file.SimpleFileVisitor, методов Path.walkFileTree, методов Files.copy, Files.move, метода Files.createLink, метода Files.createSymbolicLink и методов установки атрибутов файлов для различных файловых систем.

Ссылки:

Исходники на github (поставьте звезду, пожалуйста)

niofilecommander: 6 комментариев

  1. Замечательно автор! НО почему свин не стартоват в EDT потоке как говорит оракл?
    SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
    ….
    }
    });

  2. Попытался запустить ваш код и обломался
    1.
    NioFileCommander\src\FileMetaDataFrame.java
    Error:(1138, 67) java: incompatible types: java.util.Vector cannot be converted to java.util.Vector<java.util.Vector>
    2. FileMetaDataFrame.java
    это же не шутка?? куча классов в одном файле… просто классов.
    Выложите пожалуйста рабочие исходники.

      1. Проверил. Всё работает. Попробуйте просто создать новый проект в Eclipse, укажите JDK8, а затем положите исходники в папку src.
        Скорее всего такие сложности из-за того, что это не проект Maven, так бы наверняка сразу собралось.

          1. На JDK 9 пока не могу проверить, но переделал конвертировал исходники в проект Maven, пока было время. Попробуйте сейчас, вдруг получится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *