Домой Учебники по Java и J2EE В Java Как выполнить операцию поиска файла с помощью интерфейса java.nio.file? Учебник...

В Java Как выполнить операцию поиска файла с помощью интерфейса java.nio.file? Учебник по операциям с файлами и каталогами

981
0

Java 8 имеет так много новых функций и набор функций, которые скрыты внутри пакетов. В этом уроке мы рассмотрим java.nio.file.Path интерфейс.

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

Некоторое время назад мы написали статью о Java NIO (неблокирующий ввод / вывод), и мы получили так много отзывов от пользователей, которые предоставляют все больше и больше учебников по Java NIO. В этом уроке мы также выполним некоторые из следующих операций.

  • Мы будем читать и загружать файлы из Mac Location: /Users/appshah/Desktop/screenshots
  • Мы будем читать только файлы с расширением .png
  • Создайте CrunchifyJavaNIOFileSearch Основной класс .java для предоставления выше двух значений в качестве параметра
  • Создать класс CrunchifyFileSearchPattern .java который расширяет интерфейс SimpleFileVisitor
  • Мы переопределим visitFile а также preVisitDirectory методы
  • Запустите программу, и она напечатает общее количество совпадений и путей к файлам

Давайте начнем:

Шаг 1

Создайте файл CrunchifyJavaNIOFileSearch.java. Файлы. walkFileTree ( crunchifyPath , crunchifyPattern ); является отправной точкой программы. Он будет проходить через все файлы в этой папке с предоставленным шаблоном .

CrunchifyJavaNIOFileSearch.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
пакет crunchify. ком . учебник ;
импорт Java . Ио. IOException ;
импорт Java . Nio . файл. Файлы ;
импорт Java . Nio . файл. Путь ;
импорт Java . Nio . файл. Дорожки ;
/ **
* @author Crunchify.com
* Самый простой способ выполнить поиск файлов в Java с использованием интерфейса java.nio.file
*
* /
общественности учебный класс CrunchifyJavaNIOFileSearch {
общественности статический недействительным main ( Строка [ ] аргументы ) бросает IOException {
строка каталог знак равно / Users / Appshah / Рабочий стол / Скриншоты ;
Путь crunchifyPath знак равно Дорожки. получить ( каталог ) ;
// Давайте все файлы .png
строка crunchifyExtension знак равно * .png ;
CrunchifyFileSearchPattern crunchifyPattern знак равно новый CrunchifyFileSearchPattern ( crunchifyExtension ) ;
// Ходит по файловому дереву.
Файлы. walkFileTree ( crunchifyPath , crunchifyPattern ) ;
CrunchifyFileSearchPattern . журнал (
/ nВы есть всего + crunchifyPattern . crunchifyTotalCount ( ) + .png файлы в каталоге + каталог + / n ) ;
}
}

Шаг 2

Создайте Java-класс CrunchifyFileSearchPattern.java. Как вы видите ниже в конструкторе, мы создаем объект PathMatcher, который будет выполнять все операции сопоставления с предоставленным объектом.

У нас также есть счетчик в visitFile() а также preVisitDirectory() метод для того, чтобы мы могли отслеживать количество файлов. Следовательно, мы переопределили оба метода.

CrunchifyFileSearchPattern.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
пакет crunchify. ком . учебник ;
импорт Java . Nio . файл. Файловые системы ;
импорт Java . Nio . файл. FileVisitResult ;
импорт Java . Nio . файл. Путь ;
импорт Java . Nio . файл. PathMatcher ;
импорт Java . Nio . файл. SimpleFileVisitor ;
импорт Java . Nio . файл. приписывать. BasicFileAttributes ;
/ **
* @author Crunchify.com
* Утилита поиска файлов по Crunchify
*
* /
общественности учебный класс CrunchifyFileSearchPattern продолжается SimpleFileVisitor < Path > {
// Интерфейс, который реализован объектами, которые выполняют операции сопоставления на путях
частный окончательный PathMatcher crunchifyPathMatcher ;
частный статический ИНТ счетчик знак равно 0 ;
CrunchifyFileSearchPattern ( String crunchifyPattern ) {
// getPathMatcher () возвращает PathMatcher, который выполняет операции сопоставления на строковом представлении объектов Path
// интерпретировать данный шаблон
crunchifyPathMatcher знак равно Файловые системы . getDefault ( ) . getPathMatcher ( glob: + crunchifyPattern ) ;
}
// Вызывается для файла в каталоге
@ Override
общественности FileVisitResult visitFile ( путь crunchifyPath , BasicFileAttributes crunchifyFileAttr ) {
// Сообщает, соответствует ли данный путь шаблону этого сопоставителя
если (CrunchifyPathMatcher. Соответствует (crunchifyPath. GetFileName ())) {
counter ++ ;
log ( crunchifyPath ) ;
}
вернуть FileVisitResult . ПРОДОЛЖИТЬ ;
}
// Вызывается для каталога перед посещением записей в каталоге
@ Override
общественности FileVisitResult preVisitDirectory ( путь crunchifyPath , BasicFileAttributes crunchifyFileAttr ) {
если (CrunchifyPathMatcher. Соответствует (crunchifyPath. GetFileName ())) {
counter ++ ;
log ( crunchifyPath ) ;
}
вернуть FileVisitResult . ПРОДОЛЖИТЬ ;
}
// Простая утилита журнала
статический недействительным log ( Объект ценность ) {
Система. вне. println ( значение ) ;
}
// Возвращает общее количество совпадений для вашего шаблона
общественности ИНТ crunchifyTotalCount ( ) {
вернуть счетчик ;
}
}

Шаг 3

Запустите основную программу, и вы увидите результат ниже. Всего 10 файлов.

ЧИТАТЬ ТАКЖЕ:  В Java В чем разница между IdentityHashMap и HashMap + Сравнение производительности

Вот результат консоли Eclipse :

1
2
3
4
5
6
7
8
9
10
11
12
/ Пользователи / appshah / Рабочий стол / скриншоты / c . PNG
/ Пользователи / appshah / Рабочий стол / скриншоты / ct . PNG
/ Пользователи / appshah / Рабочий стол / скриншоты / Good to см. статью Crunchify, размещенную в Google SERP . PNG
/ Пользователи / appshah / Рабочий стол / скриншоты / В Java Как Выполните операцию поиска файла с использованием Java . Nio . файловый интерфейс ? , PNG
/ Пользователи / Appshah / Рабочий стол / Скриншоты / Java . Nio . файл. Интерфейс пути в Java8 . PNG
/ Users / appshah / Desktop / скриншоты / Screen Shot 20160629 в 12.58.08 PM. PNG
/ Users / appshah / Desktop / скриншоты / Screen Shot 20160801 в 12.16.05 PM. PNG
/ Users / appshah / Desktop / скриншоты / Screen Shot 20160817 в 5.57.41 PM. PNG
/ Users / appshah / Desktop / скриншоты / Screen Shot 20161108 в 9.25.52 PM. PNG
/ Users / appshah / Desktop / скриншоты / Screen Shot 20161109 в 2.06.57 PM. PNG
У вас всего 10 , PNG файлы в каталоге / Пользователи / appshah / Рабочий стол / скриншоты
В Java Как выполнить операцию поиска файла с помощью интерфейса java.nio.file? Учебник по операциям с файлами и каталогами

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь