То же самое и с файлом: его операции могут включать в себя изменение файла, вставку данных в файл или удаление одного файла. Все приложение будет испорчено, если разработчик будет применять файловые операции к каталогам или наоборот.
В этой статье будут проиллюстрированы подходы к определению того, является ли указанный путь файлом или каталогом, путем рассмотрения следующих методов:
- Метод «statSync()» для определения пути, ведущего к каталогу или файлу
- Метод «stat()» для определения пути, ведущего к каталогу или файлу
Как определить предоставленный путь к файлу или каталогу в Node.js?
Существует два метода, предоставляемых « фс ” модуль а именно “ isDirectory() ' и ' isFile() », единственной целью которого является проверка того, ведет ли указанный путь к файлу или каталогу. Эти методы используются как в синхронных, так и в асинхронных сценариях с использованием « статсинк() ' и ' статистика() методы. Эти два метода показаны ниже, чтобы определить, ведет ли указанный путь к файлу или каталогу.
Метод 1. Метод «statSync()» для определения пути, ведущего к каталогу или файлу.
« статсинк() » метод, предоставленный « фс » модуль в основном используется для выполнения синхронных операций. В нашем случае этот метод сохраняет экземпляр предоставленного пути только один раз. Затем он назначает « isDirectory() ' и ' isFile() ” методы, чтобы узнать, ведет ли указанный путь к каталогу или файлу.
Давайте рассмотрим приведенный ниже фрагмент кода для практической реализации метода «statSync()»:
константа фсобж '=' требовать ( 'фс' ) ;
пусть путь к файлу '=' фсОбдж. статсинк ( '/Пользователи/kahou/Documents/readlineProj/mcu.db' ) ;
консоль. бревно ( 'Предоставлен ли путь к файлу? ' + путьФайл. isFile ( ) ) ;
путьDir '=' фсОбдж. статсинк ( '/Пользователи/kahou/Документы/readlineProj' ) ;
консоль. бревно ( 'Предоставлен ли путь к каталогу? ' + путьДир. isDirectory ( ) ) ;
Объяснение приведенного выше кода приведено ниже:
- Сначала импортируйте « фс ” и сохраните его экземпляр в “ фсобж ' переменная.
- Затем вызовите команду « статсинк() метод с использованием метода « фсобж » и передайте выбранный путь в скобках. Сохраните ссылку на этот путь внутри файла « путьфайл ' переменная.
- Далее назначьте « isFile() ” метод с “ путьфайл », чтобы вернуть логическое значение, которое покажет, ведет ли указанный путь к файлу или нет.
- После этого снова вызовите команду « статсинк() » и передать новый путь.
- Наконец, прикрепите « isDirectory() ” со значением, возвращаемым методом “ стартсинхронизация() метод.
Теперь выполните текущий файл, используя следующую команду:
'узел <имя_файла>'
Например, мы выполнили файл «app.js»:
Вывод показывает значение « истинный ” означает, что предоставленные пути относятся к папке и файл обнаружен.
Метод 2. Метод «stat()» для определения пути, ведущего к каталогу или файлу.
Другой метод, который идеально работает в асинхронной среде, известен как « статистика() ” метод, который обеспечивается методом “ фс » модуль. Он также использует тот же самый « isFile() ' и ' isDirectory() » методы, но из-за его асинхронной природы один и тот же путь может быть передан обоим методам. Он имеет два параметра: первый — путь к хранилищу, а второй — функция обратного вызова, которая выполняет некоторые операции по предоставленному пути:
константа фсобж '=' требовать ( 'фс' ) ,testPath '=' '/Пользователи/kahou/Документы/readlineProj'
// Используем метод stat()
фсОбдж. статистика ( testPath , ( ошибка , статОбдж ) => {
если ( ! ошибка ) {
если ( статОбдж. isFile ( ) ) {
консоль. бревно ( ' \п Да! Указанный путь ведет к файлу? ' ) ;
}
еще если ( статОбдж. isDirectory ( ) ) {
консоль. бревно ( ' \п Да! Предоставленный путь ведет к каталогу? ' ) ;
}
}
еще
бросать ошибка ;
} ) ;
Объяснение приведенного выше кода показано ниже:
- Сначала импортируйте « фс ” и сохраните его экземпляр в “ фсобж ' переменная. Создать ' testPath ” переменная, в которой хранится путь, предоставленный тестером.
- Теперь вызовите команду « статистика() ” и передайте метод “ testPath » в качестве первого параметра и функцию обратного вызова в качестве второго параметра.
- Функция обратного вызова содержит « ошибка » в качестве первого параметра и « статОбдж » как второй. « ошибка » содержит ошибки, возникающие во время выполнения, а «startObj» имеет указанный путь.
- Внутри функции используйте « если », который выполняется, если ошибка не обнаружена.
- « вложенный, если Операторы ” используются для присвоения “ isFile() ' и ' isDirectory() ” методы с “ статОбдж ».
- Если методы возвращают « истинный только тогда этот раздел выполняется и отображает соответствующие сообщения об успехе.
После выполнения приведенного выше скрипта терминал выглядит следующим образом:
Как вы можете видеть, указанный путь теперь обнаружен и подтверждает, что указанный путь ведет к каталогу.
Заключение
Чтобы определить, является ли предоставленный путь путем к каталогу или файлу в NodeJs, методы « isFile() ' и ' isDirectory ' используются. Пути, доступные этими методами, предоставляются параметром « статсинк() ' и ' статистика() «методы» фс Модуль NodeJs. Эти методы сохраняют предоставленные пути синхронно и асинхронно соответственно. В этом блоге объясняется процедура определения того, ведет ли указанный путь к файлу или каталогу в NodeJS.