Прочитать файлы в папке

Обновлено: 03.07.2024

Автор оригинала: mkyong.

В Java мы можем использовать getResourceAsStream или getResource для чтения файла или нескольких файлов из папки ресурсы или корневого каталога пути к классу.

Метод getResource возвращает URL и обычно преобразует его в Файл ; Не работает в файле JAR .

1. Файлы в ресурсах папка

1.1 Просмотрите файлы в src/main/ресурсы , позже мы получим доступ к файлам и распечатаем содержимое файла.

1.2 По умолчанию инструменты сборки, такие как Maven, Gradle или обычная практика Java, будут копировать все файлы из src/основные/ресурсы в корневой каталог целевые/классы или сборка/классы . Итак, когда мы пытаемся прочитать файл из src/main/ресурсы , мы читаем файл из корневого каталога пути к классам проекта.

1.3 Ниже приведена структура файла JAR. Обычно файлы в папке ресурсы копируются в корневой каталог пути к классу.

2. Получите файл из папки ресурсов.

2.1 Приведенный ниже пример демонстрирует использование getResourceAsStream и getResource методы чтения файла json/файл 1.json из папки ресурсы

  • Метод getResource не работает в файле JAR.
  • Метод getResourceAsStream работает везде.

2.2 Теперь мы упаковываем проект в файл JAR и запускаем его; на этот раз getResource завершится ошибкой и вернет либо Исключение NoSuchFileException , либо Исключение InvalidPathException . Мы не можем прочитать файлы внутри файла JAR по URL-адресу ресурса.

Запустите файл JAR в Linux (Ubuntu), он вызовет Исключение NoSuchFileException .

Запустите файл JAR в Windows, он вызовет Исключение InvalidPathException .

P.S В этом примере используется плагин Maven maven-jar-плагин чтобы создать файл JAR.

3. Получите файл из папки ресурсов – Модульный тест

3.1 Мы помещаем тестовые ресурсы в папку src/test/ресурсы для модульных тестов. Обычно файлы в тестовых ресурсах копируются в папку target/test-classes .

3.2 Это работает так же, как мы читаем файл из src/main/ресурсы . Мы используем то же самое getResourceAsStream и getResource методы чтения файла из src/test/ресурсов .

4. Получите все файлы из папки ресурсов. (Среда, ОТЛИЧНАЯ от JAR)

Если мы не знаем точного имени файла и хотим прочитать все файлы, включая файлы вложенных папок из папки ресурсов, мы можем использовать NIO Файлы.перейдите , чтобы легко получить доступ к файлам и прочитать их.

4.1 В приведенном ниже примере используются Файлы.пройдите чтобы прочитать все файлы из папки src/основные/ресурсы/json :

4.2 Однако стандартные Файлы.прогулка в примере 4.1 не удается получить доступ к файлам в файле JAR напрямую, попробуйте запустить пример 4.1 в среде JAR, и он выдает Исключение FileSystemNotFoundException .

Чтобы просмотреть или открыть файлы каталога или папки на вашем компьютере, выполните следующие действия для вашей операционной системы.

Показать файлы в папке Windows

Пользователи Microsoft Windows, которые хотят перечислить файлы на компьютере, могут открыть Мой компьютер или Проводник Windows и открыть диск C: . При попадании на диск C: все файлы и папки в корневом каталоге вашего основного жесткого диска отображаются в списке и должны напоминать пример, показанный ниже.

В Windows большинство ваших программ хранятся в папке Program Files, а ваши документы часто сохраняются в папке «Мои документы».

Файлы и папки в корневом каталоге

MS-DOS и командная строка Windows

MS-DOS и командная строка Windows

Чтобы вывести список файлов в командной строке MS-DOS или в командной строке Windows, используйте команду dir.

Пример ниже является образцом того, как файлы перечислены при использовании команды dir. Смотрите справки команды dir для всех доступных ключей, которые могут быть добавлены к этой команде для выполнения различных функций.

Пример вывода команды dir

По умолчанию команда dir выводит список файлов и каталогов для текущего каталога. В приведенном ниже примере мы находимся в каталоге Windows, поэтому отображаются только файлы и каталоги в каталоге Windows.

Если в одном каталоге слишком много файлов, вы также можете показывать файлы по одной странице за раз, используя команду dir с ключом / p.

Вы можете перечислить файлы, которые соответствуют только определенным критериям, используя подстановочные знаки в команде dir. Ниже приведены несколько дополнительных примеров команды dir с подстановочными знаками.

В приведенном выше примере отображаются только файлы с расширением .txt.

В приведенном выше примере отображаются только файлы, начинающиеся с буквы «а».

Смотрите наше определение подстановочного знака для получения дополнительной информации об этом термине и дополнительных примерах.

В приведенном выше примере эта команда выводит список файлов в каталоге C: \ Windows независимо от текущего каталога или диска.

Вывести список файлов в каталоге Windows PowerShell

Как и командная строка Windows, Windows PowerShell может использовать команду dir для вывода списка файлов в текущем каталоге. PowerShell также может использовать команды ls и gci для вывода списка файлов в другом формате.

Перечислите файлы в каталоге Linux и Unix

Вывод файлов в каталоге Linux и Unix

Чтобы вывести список файлов в командной строке Linux или Unix, используйте команду ls, как показано ниже. Если вам нужны дополнительные примеры и синтаксис команды ls, см. страницу справки команды ls.

Рекомендуется использовать ls -laxo для просмотра файлов, так как он дает вам полную информацию о файлах и информацию о разрешениях в более простом и готовом формате.

Вы можете перечислить файлы, которые соответствуют только определенным критериям, используя подстановочные знаки в команде ls. Ниже приведены несколько дополнительных примеров команды dir с подстановочными знаками.

В приведенном выше примере отображаются только файлы с расширением .txt.

В приведенном выше примере отображаются только файлы, начинающиеся с буквы «r».

В приведенном выше примере отображаются только файлы, начинающиеся с гласной (a, e, i, o, u).

Тильда это ярлык. Без ярлыка вам нужно будет ввести полное имя каталога. Например, если ваше имя пользователя было «надежда», ваш домашний каталог будет / home / hope. Вы можете увидеть полный рабочий каталог, в котором вы находитесь, с помощью команды pwd.

Показать файлы на Apple MacOS

Пользователи Apple могут просматривать файлы через Finder. Если вы находитесь в Терминале, посмотрите шаги Linux, которые также работают в Терминале.

Вопрос от пользователя

Здравствуйте.

Помогите с одним вопросом. У меня есть несколько внешних дисков и на них записаны фильмы. Я хочу получить список всех названий (имен) этих файлов в тексте, чтобы его распечатать и положить рядом в коробочку с диском (скажем, навести порядок!).

Это серьезно бы облегчило поиск и подключение нужного диска.

ускорение ПК

Способы получить список имен файлов

Вариант 1 (с помощью Total Commander)

Запустив Total Commander, перейдите в нужный каталог (в тот, где у вас хранятся фильмы, например) и выделите все файлы (для этого достаточно нажать Ctrl+A).

Выделяем все файлы в нужном каталоге

Выделяем все файлы в нужном каталоге

Далее в меню "Выделение" выберите опцию "Сохранить выделение в файл. " (в некоторых версиях программы есть возможность скопировать имена файлов в буфер — если сделаете так, то потом откройте документ Word и вставьте список, нажав Ctrl+V ).

Сохранить выделение в файл (Total Commander)

Сохранить выделение в файл (Total Commander)

Текстовый файл можно открывать - список готов!

Текстовый файл можно открывать - список готов!

Вариант 2 (через браузер)

После откройте проводник и перейдите в папку с нужными вам файлами — нужно будет скопировать путь до нее, нажать сочетание Ctrl+C (адрес, вида: "C:\Users\alex\Videos\Фильмы" )

Открываем каталог

После, вставить этот скопированный "путь" в адресную строку браузера и нажать Enter. В результате вы увидите, что обозреватель покажет вам список всех файлов и дату последнего изменения.

Открываем путь в Chrome

Открываем путь в Chrome

Вставляем список в Excel для дальнейшей работы.

Вставляем список в Excel для дальнейшей работы.

Вариант 3 (список со вложенными файлами и папками)

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

Например, есть у вас в каталоге "Видео" отдельная папка "Кино 90-х" , в которой 2 десятка др. фильмов — вышеперечисленные способы бы не позволили узнать их название (из полученного списка), а этот позволит!

В ней нужно последовательно ввести две команды, после каждой нажать Enter:

  1. cd C:\Users\alex\Videos\Фильмы (вместо "C:\Users\alex\Videos\Фильмы" укажите свой каталог) ;
  2. dir /b /s | sort > List.txt (эта команда создаст файл "List.txt" в выбранной вами папке со всеми файлами и каталогами, что в нем есть! Кроме этого, она отсортирует список от А к Я).

CMD - открываем каталог, получаем список

CMD - открываем каталог, получаем список

Файл-список готов!

Как убрать путь (C:\Video\) из списка

Кстати, если в списке файлов вам среди названия фильмов (файлов) не нужен их путь — то его легко убрать. Для этого в Notepad++ достаточно:

  • нажать на Ctrl+F ;
  • в окне "Замена" в строку "найти" указать путь (который повторяется в каждой строке);
  • в строке "Заменить на" проверить, чтобы была пустота;
  • и нажать кнопку "заменить все" . В результате: в вашем списке будут только имена (без пути)!

Убираем путь до каталога в блокноте

Убираем путь до каталога в блокноте

Вариант 4 (без доп. софта)

Этот способ работает не во всех версиях ОС Windows (в 10-ке все OK). Зато он быстрый и не требует вообще никакого доп. софта.

  1. зайти в нужный каталог;
  2. выделить файлы (Ctrl+A);
  3. зажать клавишу Shift (левую);
  4. нажать ПКМ (правую кнопку мыши), не отпуская Shift;
  5. из появившегося меню проводника выбрать опцию "Копировать как путь" . Теперь в буфере обмена есть все имена файлов из каталога!

Выделяем и копируем путь

Выделяем и копируем путь

Теперь можно открыть блокнот или тот же Word и вставить список (Ctrl+V).

Вставляем скопированный список

Вставляем скопированный список

Если вам мешает в каждой строке путь ("C:\Users\") - то как его убрать см. чуть выше.

Обработка файлов в Python с помощью модуля os включает создание, переименование, перемещение, удаление файлов и папок, а также получение списка всех файлов и каталогов и многое другое.

В индустрии программного обеспечения большинство программ тем или иным образом обрабатывают файлы: создают их, переименовывают, перемещают и так далее. Любой программист должен обладать таким навыком. С этим руководством вы научитесь использовать модуль os в Python для проведения операций над файлами и каталогами вне зависимости от используемой операционной системы.

Важно знать, что модуль os используется не только для работы с файлами. Он включает массу методов и инструментов для других операций: обработки переменных среды, управления системными процессами, а также аргументы командной строки и даже расширенные атрибуты файлов, которые есть только в Linux.

Модуль встроенный, поэтому для работы с ним не нужно ничего устанавливать.

Вывод текущей директории

Для получения текущего рабочего каталога используется os.getcwd() :

os.getcwd() возвращает строку в Юникоде, представляющую текущий рабочий каталог. Вот пример вывода:

Создание папки

Для создания папки/каталога в любой операционной системе нужна следующая команда:

После ее выполнения в текущем рабочем каталоге тут же появится новая папка с названием «folder».

Если запустить ее еще раз, будет вызвана ошибка FileExistsError , потому что такая папка уже есть. Для решения проблемы нужно запускать команду только в том случае, если каталога с таким же именем нет. Этого можно добиться следующим образом:

Функция os.path.isdir() вернет True , если переданное имя ссылается на существующий каталог.

Изменение директории

Менять директории довольно просто. Проделаем это с только что созданным:

Еще раз выведем рабочий каталог:

Создание вложенных папок

Предположим, вы хотите создать не только одну папку, но и несколько вложенных:

Это создаст три папки рекурсивно, как показано на следующем изображении:

Создание вложенных папок

Создание файлов

Для создания файлов в Python модули не нужны. Можно использовать встроенную функцию open() . Она принимает название файла, который необходимо создать в качестве первого параметра и желаемый режим открытия — как второй:

w значит write (запись), a — это appending (добавление данных к уже существующему файлу), а r — reading (чтение). Больше о режимах открытия можно почитать здесь.

Переименование файлов

С помощью модуля os достаточно просто переименовать файл. Поменяем название созданного в прошлом шаге.

Читайте также: