Latest web development tutorials

Node.js system plików

Node.js oferuje podobny zestaw Unix (POSIX) standardowych operacji na plikach API. Moduł składni systemu węzeł importu plików (FS) jest następujący:

var fs = require("fs")

Synchroniczna i asynchroniczna

Node.js system plików (fs Module) Moduł posiada metody synchroniczne i asynchroniczne wersje, takie jak czytanie treści dokumentu posiada funkcję asynchronicznego fs.readFile () i synchronizacja fs.readFileSync ().

Asynchroniczne funkcje metoda ostatni parametr do funkcji wywołania zwrotnego, pierwszy argument do funkcji zwrotnej zawiera komunikat o błędzie (ERROR).

Polecam jest użycie metody asynchronicznego, w porównaniu do synchronicznej, asynchronicznej metody wyższej wydajności, szybciej, i nie ma żadnych przeszkód.

Przykłady

Tworzenie input.txt pliku, w sposób następujący:

本教程官网地址:www.w3big.com
文件读取实例

Tworzenie file.js pliku, w sposób następujący:

var fs = require("fs");

// 异步读取
fs.readFile('input.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("异步读取: " + data.toString());
});

// 同步读取
var data = fs.readFileSync('input.txt');
console.log("同步读取: " + data.toString());

console.log("程序执行完毕。");

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
同步读取: 本教程官网地址:www.w3big.com
文件读取实例

程序执行完毕。
异步读取: 本教程官网地址:www.w3big.com
文件读取实例

Następnie pozwól nam zrozumieć specyficzne metody pod kontrolą systemu plików node.js.


Otwórz plik

gramatyka

Następujący plik jest otwarty w trybie asynchronicznym składni:

fs.open(path, flags[, mode], callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • flagi - otwórz plik zachowanie.Wartości konkretne opisane poniżej.

  • mode - ustaw tryb pliku (uprawnienia), należy utworzyć plik uprawnienia domyślne 0666 (czytelny zapisu).

  • oddzwaniania - funkcja zwrotna ma dwa parametry, takie jak: zwrotnego (ERR, fd).

Parametr flags może być następujące wartości:

flaga opis
R Otwórz plik w trybie odczytu. Jeśli plik nie istnieje rzut.
R + Otwórz plik w trybie odczytu i zapisu. Jeśli plik nie istnieje rzut.
rs Czytaj plik w sposób synchroniczny.
RS + W zsynchronizowany sposób do odczytu i zapisu plików.
w Otwórz plik w trybie zapisu, jeśli plik nie istnieje, zostanie utworzony.
wx Podobny 'w', ale jeśli istnieje ścieżka do pliku, brak zapisu plików.
w + Otwórz plik w trybie odczytu i zapisu, jeśli plik nie istnieje, zostanie utworzony.
wx + Podobny 'w +', ale jeśli istnieje ścieżka do pliku, plik do odczytu i zapisu nie powiodła się.
Otwórz plik w trybie dopisywania, jeśli plik nie istnieje, zostanie utworzony.
siekiera Podobny do 'A', ale jeśli istnieje ścieżka plików, file zawiedzie.
a + Aby odczytać plik otwierany w trybie dopisywania, jeśli plik nie istnieje, zostanie utworzony.
ax + Podobny "A +", ale jeśli istnieje ścieżka do pliku, plik jest odczytywany dodatkowych uszkodzeń.

Przykłady

Następnie tworzymy plik file.js i otwiera input.txt plików czytać i pisać kod w następujący sposób:

var fs = require("fs");

// 异步打开文件
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
  console.log("文件打开成功!");     
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备打开文件!
文件打开成功!

Uzyskiwanie informacji o pliku

gramatyka

Następujące dokumenty w celu uzyskania informacji za pomocą składni trybie asynchronicznym:

fs.stat(path, callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • oddzwaniania - funkcja zwrotna ma dwa parametry, takie jak:(eee, statystyki), statystyki są fs.Stats obiektu.

Po fs.stat (ścieżka) wykonanie, instancją klasy będą zwracane do ich funkcji statystyki zwrotnego. Można określić odpowiednie atrybuty pliku, statystyki klasa dostarcza sposób. Na przykład, w celu określenia, czy plikach:

var fs = require('fs');

fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
    console.log(stats.isFile()); 		//true
})

Metody klasy statystyki są następujące:

sposób opis
stats.isFile () Jeśli plik zwraca wartość true, w przeciwnym razie zwraca false.
stats.isDirectory () Jeśli katalog zwraca wartość true, w przeciwnym razie zwraca false.
stats.isBlockDevice () Jeśli urządzenie blok zwraca true, w przeciwnym razie zwraca false.
stats.isCharacterDevice () Jeśli urządzenie jest postacią zwraca wartość true, w przeciwnym razie zwraca false.
stats.isSymbolicLink () Jeśli jest to miękka link return true, w przeciwnym razie zwraca false.
stats.isFIFO () Jeśli FIFO, zwraca wartość true, w przeciwnym razie zwraca false. FIFO jest specjalnym typem polecenia rurociągu UNIX.
stats.isSocket () Jeśli Gniazdo zwraca wartość true, w przeciwnym razie zwraca false.

Przykłady

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("准备打开文件!");
fs.stat('input.txt', function (err, stats) {
   if (err) {
       return console.error(err);
   }
   console.log(stats);
   console.log("读取文件信息成功!");
   
   // 检测文件类型
   console.log("是否为文件(isFile) ? " + stats.isFile());
   console.log("是否为目录(isDirectory) ? " + stats.isDirectory());    
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备打开文件!
{ dev: 16777220,
  mode: 33188,
  nlink: 1,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 40333161,
  size: 61,
  blocks: 8,
  atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
  mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
  ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
读取文件信息成功!
是否为文件(isFile) ? true
是否为目录(isDirectory) ? false

Zapis do pliku

gramatyka

Poniżej zamieszczona jest zapisywany do pliku w trybie asynchronicznym składni:

fs.writeFile(filename, data[, options], callback)

Jeśli plik istnieje, metoda zapisuje treść zastąpią stare zawartość pliku.

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • danych - dane, które mają być zapisane do pliku, który może być String (String) lub bufor (stream) obiektu.

  • Opcje - Ten parametr jest obiektem, który zawiera {kodowania, tryb, flaga}.Domyślne kodowanie jest utf8, 0666, flaga 'w'

  • oddzwaniania - funkcja zwrotna, funkcja zwrotna zawiera komunikaty o błędach tylko argumenty (ERR), powraca pisząc zawiedzie.

Przykłady

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("准备写入文件");
fs.writeFile('input.txt', '我是通过写入的文件内容!',  function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("数据写入成功!");
   console.log("--------我是分割线-------------")
   console.log("读取写入的数据!");
   fs.readFile('input.txt', function (err, data) {
      if (err) {
         return console.error(err);
      }
      console.log("异步读取文件数据: " + data.toString());
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备写入文件
数据写入成功!
--------我是分割线-------------
读取写入的数据!
异步读取文件数据: 我是通过写入的文件内容

Przeczytaj plik

gramatyka

Oto Tryb asynchroniczny czytać składnię pliku:

fs.read(fd, buffer, offset, length, position, callback)

Metoda ta wykorzystuje deskryptor pliku do odczytu pliku.

parametry

Następujące parametry:

  • fd - z powrotem przez fs.open () metody deskryptorów.

  • Bufor - dane są zapisywane w buforze.

  • Przesunięcie - przesunięcie bufora zapisu jest napisane.

  • Długość - liczba bajtów odczytanych z pliku.

  • Stanowisko - początek pliku jest odczytywany, jeśli pozycja jest pusta, jest odczytywany z bieżącej pozycji wskaźnika pliku.

  • oddzwaniania - funkcja zwrotna trwa trzy argumenty błądzić, bytesRead, bufor, eee komunikat o błędzie, bytesRead wskazuje liczbę bajtów do odczytu, bufor obiekt bufora.

Przykłady

input.txt zawartość pliku:

本教程官网地址:www.w3big.com

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");
var buf = new Buffer(1024);

console.log("准备打开已存在的文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("准备读取文件:");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }
      console.log(bytes + "  字节被读取");
      
      // 仅输出读取的字节
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备打开已存在的文件!
文件打开成功!
准备读取文件:
42  字节被读取
本教程官网地址:www.w3big.com

Zamknij plik

gramatyka

Poniżej znajduje się plik składni zamknięte w trybie asynchronicznym:

fs.close(fd, callback)

Metoda ta wykorzystuje deskryptor pliku do odczytu pliku.

parametry

Następujące parametry:

  • fd - z powrotem przez fs.open () metody deskryptorów.

  • oddzwaniania - funkcja zwrotna ma żadnych parametrów.

Przykłady

input.txt zawartość pliku:

本教程官网地址:www.w3big.com

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");
var buf = new Buffer(1024);

console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("准备读取文件!");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }

      // 仅输出读取的字节
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }

      // 关闭文件
      fs.close(fd, function(err){
         if (err){
            console.log(err);
         } 
         console.log("文件关闭成功");
      });
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备打开文件!
文件打开成功!
准备读取文件!
本教程官网地址:www.w3big.com
文件关闭成功

Intercept pliku

gramatyka

Poniżej znajduje się składnia asynchronicznego trybu przechwytywania pliku:

fs.ftruncate(fd, len, callback)

Metoda ta wykorzystuje deskryptor pliku do odczytu pliku.

parametry

Następujące parametry:

  • fd - z powrotem przez fs.open () metody deskryptorów.

  • len - długość zawartości pliku przechwycone.

  • oddzwaniania - funkcja zwrotna ma żadnych parametrów.

Przykłady

input.txt zawartość pliku:

site:www.w3big.com

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");
var buf = new Buffer(1024);

console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("截取10字节后的文件内容。");
   
   // 截取文件
   fs.ftruncate(fd, 10, function(err){
      if (err){
         console.log(err);
      } 
      console.log("文件截取成功。");
      console.log("读取相同的文件"); 
      fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
         if (err){
            console.log(err);
         }

         // 仅输出读取的字节
         if(bytes > 0){
            console.log(buf.slice(0, bytes).toString());
         }

         // 关闭文件
         fs.close(fd, function(err){
            if (err){
               console.log(err);
            } 
            console.log("文件关闭成功!");
         });
      });
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备打开文件!
文件打开成功!
截取10字节后的文件内容。
文件截取成功。
读取相同的文件
site:www.r
文件关闭成功

Usuń pliki

gramatyka

Poniżej znajduje się składnia, aby usunąć plik:

fs.unlink(path, callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • oddzwaniania - funkcja zwrotna ma żadnych parametrów.

Przykłady

input.txt zawartość pliku:

site:www.w3big.com

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("准备删除文件!");
fs.unlink('input.txt', function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("文件删除成功!");
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备删除文件!
文件删除成功!

Zobacz input.txt plik jeszcze raz i okazało się, już nie istnieje.


Utwórz katalog

gramatyka

Poniżej znajduje się składnia utworzenia katalogu:

fs.mkdir(path[, mode], callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • mode - ustawić uprawnienia katalogów, domyślnie jest 0777.

  • oddzwaniania - funkcja zwrotna ma żadnych parametrów.

Przykłady

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("创建目录 /tmp/test/");
fs.mkdir("/tmp/test/",function(err){
   if (err) {
       return console.error(err);
   }
   console.log("目录创建成功。");
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
创建目录 /tmp/test/
目录创建成功。

Czytaj katalog

gramatyka

Poniżej znajduje się składnia czytania z katalogu:

fs.readdir(path, callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • oddzwaniania - funkcja zwrotna, funkcja oddzwaniania trwa dwa argumenty błądzić, pliki, err komunikat o błędzie, pliki dla plików listy tablicy w katalogu.

Przykłady

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("查看 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
   if (err) {
       return console.error(err);
   }
   files.forEach( function (file){
       console.log( file );
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
查看 /tmp 目录
input.out
output.out
test
test.txt

Usuń katalog

gramatyka

Poniżej znajduje się składnia usunąć katalog:

fs.rmdir(path, callback)

parametry

Następujące parametry:

  • path - ścieżka do pliku.

  • oddzwaniania - funkcja zwrotna ma żadnych parametrów.

Przykłady

Następnie tworzymy file.js pliku, kod jest w następujący sposób:

var fs = require("fs");

console.log("准备删除目录 /tmp/test");
fs.rmdir("/tmp/test",function(err){
   if (err) {
       return console.error(err);
   }
   console.log("读取 /tmp 目录");
   fs.readdir("/tmp/",function(err, files){
      if (err) {
          return console.error(err);
      }
      files.forEach( function (file){
          console.log( file );
      });
   });
});

Powyższy kod jest wykonywany w następujący sposób:

$ node file.js 
准备删除目录 /tmp/test
input.out
output.out
test
test.txt
读取 /tmp 目录
……

Referencyjna metoda Moduł pliku

Poniżej znajduje się lista plików w ten sam sposób node.js moduły:

Nie. Sposób i opis
1 fs.rename (oldpath, newpath, callback)
Asynchronous zmiany nazwy funkcji oddzwaniania (). Nie ma parametrów, ale może rzucać.
2 fs.ftruncate (fd, len, callback)
Asynchronous ftruncate funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
3 fs.ftruncateSync (fd, len)
ftruncate synchronizacji ()
4 fs.truncate (path, len, callback)
Funkcja oddzwaniania Asynchronous truncate (). Nie ma parametrów, ale może rzucać.
5 fs.truncateSync (path, len)
Synchronizacja truncate ()
6 fs.chown (path, uid, gid, callback)
Funkcja oddzwaniania Asynchronous chown (). Nie ma parametrów, ale może rzucać.
7 fs.chownSync (path, uid, gid)
Synchronizacja chown ()
8 fs.fchown (fd, uid, gid, callback)
Asynchronous fchown funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
9 fs.fchownSync (fd, UID, GID)
fchown synchronizacji ()
10 fs.lchown (path, uid, gid, callback)
Asynchronous lchown funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
11 fs.lchownSync (path, uid, gid)
lchown synchronizacji ()
12 fs.chmod (ścieżka, tryb, callback)
Funkcja oddzwaniania Asynchronous chmod (). Nie ma parametrów, ale może rzucać.
13 fs.chmodSync (ścieżka, tryb)
Synchronizacja chmod ().
14 fs.fchmod (fd, tryb, callback)
Asynchronous fchmod funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
15 fs.fchmodSync (fd, tryb)
fchmod synchronizacji ().
16 fs.lchmod (ścieżka, tryb, callback)
Asynchronous lchmod funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać. Opcja dostępna tylko w systemie Mac OS X.
17 fs.lchmodSync (ścieżka, tryb)
lchmod synchronizacji ().
18 fs.stat (path, callback)
Asynchronous stat (). Funkcja oddzwaniania trwa dwa argumenty błądzić, statystyki, statystyki są fs.Stats obiektu.
19 fs.lstat (path, callback)
Asynchronous lstat (). Funkcja oddzwaniania trwa dwa argumenty błądzić, statystyki, statystyki są fs.Stats obiektu.
20 fs.fstat (fd, callback)
Asynchronous fstat (). Funkcja oddzwaniania trwa dwa argumenty błądzić, statystyki, statystyki są fs.Stats obiektu.
21 fs.statSync (path)
Synchronizacja stat (). Fs.Stats zwracać instancję.
22 fs.lstatSync (path)
lstat synchronizacji (). Fs.Stats zwracać instancję.
23 fs.fstatSync (fd)
fstat synchronizacji (). Fs.Stats zwracać instancję.
24 fs.link (srcpath, dstpath, callback)
Asynchronous Link Funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
25 fs.linkSync (srcpath, dstpath)
Link Synchronizacja ().
26 fs.symlink (srcpath, dstpath [typ ], callback)
Asynchronous dowiązaniem funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać. Parametr typu może być ustawiony na "dir", "akt", lub "węzła" (domyślnie "Plik").
27 fs.symlinkSync (srcpath, dstpath [typ ])
symlink synchronizacji ().
28 fs.readlink (path, callback)
Asynchronous readlink (). Funkcja oddzwaniania trwa dwa argumenty błądzić, linkString.
29 fs.realpath (path [cache], callback)
Asynchronous realpath (). Funkcja oddzwaniania trwa dwa argumenty błądzić, resolvedPath.
30 fs.realpathSync (path [cache])
Synchroniczne realpath (). Zwraca ścieżkę bezwzględną.
31 fs.unlink (path, callback)
Asynchronous odłączenie funkcji oddzwaniania (). Nie ma parametrów, ale może rzucać.
32 fs.unlinkSync (path)
Synchronizacja unlink ().
33 fs.rmdir (path, callback)
Asynchronous rmdir funkcji oddzwaniania (). Nie ma parametrów, ale może rzucać.
34 fs.rmdirSync (path)
rmdir synchronizacji ().
35 fs.mkdir (path [Tryb], callback)
S Asynchronous mkdir funkcja oddzwaniania (2). Nie ma parametrów, ale może rzucać. Domyślnie tryb służy do 0777.
36 fs.mkdirSync (path [, mode])
Synchronizacja mkdir ().
37 fs.readdir (path, callback)
Asynchronous readdir (3). Czyta zawartość katalogu.
38 fs.readdirSync (path)
Synchronizacja readdir (). Zwraca tablicę z listą plików.
39 fs.close (fd, callback)
Asynchronous blisko funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.
40 fs.closeSync (fd)
blisko Synchronizacja ().
41 fs.open (path, flagi [Tryb ], callback)
Asynchronous otworzyć plik.
42 fs.openSync (path, flagi [tryb ])
Synchroniczne wersja fs.open ().
43 fs.utimes (ścieżki, czas dostepu, callback)
44 fs.utimesSync (ścieżki, czas dostepu)
Zmienić znaczniki czasu plików, plik po ścieżce określonego pliku.
45 fs.futimes (fd, czas dostepu, callback)
46 fs.futimesSync (fd, czas dostepu)
Zmiany czasu pliku, określony przez deskryptor pliku.
47 fs.fsync (fd, callback)
Funkcja oddzwaniania Asynchronous fsync. nie posiada żadnych parametrów, ale może rzucać.
48 fs.fsyncSync (fd)
fsync synchronizacji.
49 fs.write (fd, bufor, offset, długość [pozycja], callback)
Zawartość bufora zapisu pliku określonym przez deskryptor pliku.
50 fs.write (fd dane [, pozycja [kodowanie]], callback)
Napisz do zawartości plików na deskryptora pliku fd.
51 fs.writeSync (fd, bufor, offset, długość [pozycja])
Synchroniczne wersja fs.write ().
52 fs.writeSync (FD dane [, pozycja [kodującego]])
Synchroniczne wersja fs.write ().
53 fs.read (fd, bufor, offset, długość, położenie, callback)
Czytaj zawartość dokumentów dotyczących deskryptora pliku fd.
54 fs.readSync (fd, bufor, offset, długość, położenie)
Synchroniczne wersja fs.read.
55 fs.readFile (filename [opcje], callback)
Asynchronous odczytać zawartość plików.
56 fs.readFileSync (filename [opcje])
57 fs.writeFile (nazwa pliku, data [opcje ], callback)
Asynchronous napisz do zawartości pliku.
58 fs.writeFileSync (nazwa pliku, data [opcje ])
Synchroniczne wersja fs.writeFile.
59 fs.appendFile (nazwa pliku, data [opcje ], callback)
Asynchroniczne zawartość dodatkowa plików.
60 fs.appendFileSync (nazwa pliku, data [opcje ])
Synchroniczna wersja fs.appendFile.
61 fs.watchFile (filename [opcje], słuchacz)
Modyfikowanie widoku pliku.
62 fs.unwatchFile (filename [, słuchacz])
Przerwać oglądanie zmiany nazw plików.
63 fs.watch (filename [opcje] [ , słuchacz])
Sprawdź zmiany nazwy pliku, nazwa pliku może być plik lub katalog. Powrót fs.FSWatcher obiektu.
64 fs.exists (path, callback)
Wykrywanie istnieje dana droga.
65 fs.existsSync (path)
Synchroniczne fs.exists wersja.
66 fs.access (path [Tryb], callback)
Testy jeśli określona ścieżka od uprawnień użytkownika.
67 fs.accessSync (path [, mode])
Synchroniczne wersja fs.access.
68 fs.createReadStream (path [opcje])
Powrót obiektu ReadStream.
69 fs.createWriteStream (path [opcje])
Powrót obiektu WriteStream.
70 fs.symlink (srcpath, dstpath [typ ], callback)
Asynchronous dowiązaniem funkcja oddzwaniania (). Nie ma parametrów, ale może rzucać.

Aby uzyskać więcej informacji, zajrzyj na oficjalną stronę internetową Module Opis pliku: File System .