Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.

от Тимилехин Омолана
ДялTweetДялДялДялелектронна поща

Работата с файлове е една от най-честите задачи, които една програма изпълнява, така че спестете време и усилия с помощната библиотека на Node.

Една от вградените функции на Node.js е манипулирането на файловата система на операционната система с помощта на модула fs. Този модул Node.js съдържа много полезни функции за работа с файлове и директории.

Файловете просто се наричат ​​постоянни обекти или части от данни, които обикновено се съхраняват на твърд носител, известен като диск или памет. Файловете могат да бъдат от различни типове, от текстови файлове до файлове с изображения, аудио файлове и много други.

И така, какво е файлова система и как можете лесно да взаимодействате с файловата система на операционната система в Node.js?

Какво е файлова система?

instagram viewer

Файловата система определя как една операционна система може да идентифицира, организира, съхранява и осъществява достъп до файлове, заедно с други операции.

Файловата система на операционната система също върши работата по групиране на файлове в колекции, известни като директории или папки. Обикновените файлове и директории са най-често срещаните части на файлова система, с които често се взаимодейства сред много други.

Някои примери за файлови системи включват нова технологична файлова система (NTFS), UNIX файлова система (UFS) и йерархична файлова система (HFS).

Какво представлява модулът Node.js fs?

Node.js fs module е вградена библиотека, предоставена от Node.js за работа с файловата система на всяка операционна система, която поддържа Node. The fs модулът е лесно достъпен и е основната библиотека за файлови операции като четене от файлове или запис на данни във файлове в Node.js.

Много често се използва с път и операционна система модули за извършване на различни операции с файлове. За да използвате fs модул във вашите програми, можете да го импортирате във вашия изходен код, както е показано в кода по-долу.

// CommonJS
конст fs = изискват('fs')

// ES6
импортиране fs от 'fs'

Какво представлява модулът за път Node.js?

Можете да използвате Node.js път модул за манипулиране на файлови пътища. Той включва помощни програми за лесно взаимодействие с пътищата на файлове и директории. Използвайки fs и път модули в тандем за изпълнение на задача е стандартна практика. Това е така, защото мнозинството от fs функциите на модула зависят от пътищата към целевите файлове или директории, за да функционират.

Можете да импортирате път модул във вашия код със синтаксиса по-долу:

// CommonJS
конст път = изискват('път')

// ES6
импортиране път от "път"

Общи функции за достъп до файловата система в Node.js

Ето най-често използваните Node.js fs и път модулни функции и как да ги използвате за взаимодействие с файлове и директории.

Работа с пътища

  1. path.resolve: Това е функцията за разрешаване на път от списък с инструкции за път, предадени като параметри. Например:
    path.resolve('home', 'projects', 'web');
    // се завръща /home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // се завръща /home/projects/mobile

  2. path.normalize: The нормализирам функцията връща правилния и нормализиран път от даден входен път. Например:
    path.normalize('home/projects/web/../mobile/./code');
    // връща home/projects/mobile/code
  3. path.join: Тази функция изгражда пътека от няколко сегмента. Например:
    path.join('начало', 'проекти', '../', 'филми');
    // връща се у дома/филми
  4. path.basename: The основно име функцията връща последния сегмент от пътя. Можете да го използвате по два начина:
    path.basename('home/projects/web/index.js');
    // връща index.js

    path.basename('home/projects/web/index.js', '.js');
    // премахва разширението и връща 'index'

  5. path.dirname: Тази функция връща пътя до последната директория на даден път. Пример:
    path.dirname('home/projects/web/index.js');
    // връща home/projects/web
  6. path.extname: С тази функция можете да получите разширението на файл от даден път.
    path.extname('home/projects/web/index.js');
    // връща '.js'

Отваряне и затваряне на файлове

  1. fs.open: Това е функцията за отваряне или създаване на файл синхронно в Node.js. Синхронната форма на fs.open е fs.openSync. fs.open ac приема четири аргумента, които са пътят на файла, флагове, отворен режим и функция за обратно извикване. Знамена и отворенрежим имат стойност по подразбиране и можете да научите повече за тях от Node.js fs.open документация.
    конст filePath = path.join (__dirname, '/videos/newVideo.mp4');
    // __dirname връща пътя до текущата работна директория.
    // filePath = /videos/newVideo.mp4

    fs.open (filePath, (грешка, fileDescriptor) => {
    // обработка на грешки
    конзола.log (fileDescriptor); // отпечатва цяло число, представляващо файловия дескриптор
    })

  2. fs.close: Добра практика е винаги да затваряте всички отворени файлове, когато вече не са необходими. Node.js има fs.close функция за това:
    fs.open (filePath, (грешка, fileDescriptor) => {
    // обработка на грешки, като например „файл/директория не съществува“
    конзола.log (fileDescriptor);

    // затворете файла
    fs.close (fileDescriptor, (грешка) => {
    // обработка на грешки
    конзола.log('Файлът е затворен успешно');
    });
    })

Създаване и изтриване

  1. fs.mkdir: Това работи точно като mkdir терминална команда, която създава нова директория. Той приема път, режим (по избор) и функция за обратно извикване като параметри. Можете да го използвате по следния начин:
    конст dirPath = path.join (__dirname, 'newDirectory');
    fs.mkdir (dirPath, (грешка) => {
    // обработка на грешки
    конзола.log('Нова директория е създадена успешно');
    });
  2. fs.unlink: Тази функция премахва или изтрива файла по пътя, предаден като аргумент. Разгледайте примера на код по-долу:
    конст filePath = path.join (_dirname, 'oldFile.js');

    fs.unlink (filePath, (грешка) => {
    // обработка на грешки
    конзола.log('Файлът е изтрит успешно');
    });

  3. fs.rmdir: Този метод изтрива директорията по даден път. Използването му е много подобно на метода за прекратяване на връзката:
    конст dirPath = path.resolve('home', 'projects', 'web');

    fs.rmdir (dirPath, (грешка) => {
    // обработка на грешки
    конзола.log('Директорията е изтрита успешно');
    })

  1. fs.exists: The съществува метод проверява дали файлът по даден път съществува. Изпълнението е както следва:
    позволявам filePath = path.join (__dirname, 'index.html');

    fs.exists (filePath, (съществува) => {
    конзола.log (съществува) // истина или лъжа
    })

  2. fs.stat: Това е синхронна функция, която връща свойствата на файл. Връща an fs. статистика обект, който разкрива някои методи за достъп до свойствата на файла. Ето един пример:
    fs.stat('index.js', (грешка, статистика) => {
    конзола.log (статистика); // отпечатва свойства на файла от ниско ниво
    stats.isFile(); // връща true
    stats.isDirectory(); // връща false
    })

Трябва да използвате път методи, когато работите с файлови пътища, тъй като те ви предпазват от неочаквано поведение на различни платформи. The Node.js fs и Node.js път документацията описва изчерпателен списък от методи.

Манипулиране на файловата система в Node.js

Необятността на fs модулът го прави много лесен за достъп и взаимодействие с файлове на всяка операционна система. Когато го използвате заедно с път модул, вие сте отворени за повече функционалност и можете да манипулирате файловата система както желаете.

Основно предимство на Node.js е неговата преносимост. Можете да разработите вашите приложения на всяка платформа и да ги внедрите навсякъде, без да се притеснявате за основни проблеми със съвместимостта.

Научете как да пишете файлове в Node

Прочетете Напред

ДялTweetДялДялДялелектронна поща

Свързани теми

  • Програмиране
  • JavaScript
  • Файлова система

За автора

Тимилехин Омолана (9 публикувани статии)

Timilehin е софтуерен инженер и технически писател, който обича да изследва света на сървърните технологии и разпределените системи.

Още от Timilehin Omolana

Коментирайте

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни сделки!

Щракнете тук, за да се абонирате