﻿1
00:00:01,410 --> 00:00:03,890
‫Narratore: Questa è una lezione davvero

2
00:00:03,890 --> 00:00:07,230
‫entusiasmante perché imparerai come leggere i dati dai file

3
00:00:07,230 --> 00:00:10,393
‫e anche come scrivere i dati nei file.

4
00:00:12,110 --> 00:00:15,050
‫E abbiamo già importato il modulo integrato

5
00:00:15,050 --> 00:00:17,450
‫di cui abbiamo bisogno

6
00:00:17,450 --> 00:00:20,910
‫nell'ultima lezione, quindi ora liberiamoci di questo codice

7
00:00:20,910 --> 00:00:23,990
‫e iniziamo a utilizzare il modulo FS.

8
00:00:23,990 --> 00:00:26,707
‫Quindi usiamo fs. readfilesync, ok.

9
00:00:30,720 --> 00:00:34,250
‫E la sincronizzazione sta per sincrono, e

10
00:00:34,250 --> 00:00:36,210
‫inizierai a conoscere

11
00:00:36,210 --> 00:00:40,240
‫il sincrono e l'asincrono proprio nel prossimo video, ok.

12
00:00:40,240 --> 00:00:43,760
‫Quindi questa è la versione sincrona della lettura del file.

13
00:00:43,760 --> 00:00:47,040
‫Esiste anche una versione asincrona.

14
00:00:47,040 --> 00:00:50,880
‫Quindi, la funzione di sincronizzazione dei file di lettura accetta due argomenti.

15
00:00:50,880 --> 00:00:54,640
‫Il primo è il percorso del file che stiamo leggendo

16
00:00:54,640 --> 00:00:57,300
‫e poi anche il carattere codificato.

17
00:00:57,300 --> 00:00:59,700
‫Quindi, prima il percorso del

18
00:00:59,700 --> 00:01:02,163
‫file, e il file si trova

19
00:01:04,130 --> 00:01:06,973
‫nella cartella txt, ed è quello di input.

20
00:01:08,170 --> 00:01:12,260
‫Quindi, questo testo che ho qui sull'avocado è

21
00:01:12,260 --> 00:01:15,740
‫ciò che leggeremo in una variabile.

22
00:01:15,740 --> 00:01:18,060
‫E non sono sicuro che sarai

23
00:01:18,060 --> 00:01:21,950
‫in grado di vedere questa emoji qui direttamente sul tuo sistema

24
00:01:21,950 --> 00:01:24,710
‫operativo, ma se sei su Windows 8 o

25
00:01:24,710 --> 00:01:26,960
‫Windows 10, probabilmente funzionerà bene.

26
00:01:28,000 --> 00:01:31,420
‫Ok, quindi abbiamo specificato un percorso lì, e ci

27
00:01:31,420 --> 00:01:33,730
‫sono diversi modi per farlo,

28
00:01:33,730 --> 00:01:36,573
‫ma per ora andrò con quello più semplice.

29
00:01:37,490 --> 00:01:42,490
‫Quindi, tutto ciò che farò è impostarlo nel file /txt/input. TXT.

30
00:01:47,460 --> 00:01:50,470
‫Quindi, di nuovo, iniziamo dalla cartella home, che

31
00:01:50,470 --> 00:01:52,100
‫è fondamentalmente la cartella

32
00:01:52,100 --> 00:01:55,350
‫in cui index. js si trova, quindi

33
00:01:55,350 --> 00:01:57,430
‫questo è il punto lì dentro,

34
00:01:57,430 --> 00:02:00,060
‫quindi ci spostiamo nella cartella txt e

35
00:02:00,060 --> 00:02:02,633
‫da lì input. TXT.

36
00:02:03,670 --> 00:02:05,080
‫Quindi qui

37
00:02:05,080 --> 00:02:07,550
‫il secondo dobbiamo definire la codifica

38
00:02:07,550 --> 00:02:10,320
‫dei caratteri, che è utf8, di solito,

39
00:02:10,320 --> 00:02:12,710
‫almeno se stai usando solo l'inglese.

40
00:02:12,710 --> 00:02:15,200
‫Ok, e se non lo specifichi,

41
00:02:15,200 --> 00:02:18,770
‫otteniamo qualcosa chiamato buffer, ok, e non è proprio

42
00:02:18,770 --> 00:02:20,210
‫quello che vogliamo.

43
00:02:20,210 --> 00:02:22,900
‫Vogliamo davvero solo il testo.

44
00:02:22,900 --> 00:02:26,770
‫E così, chiamando questa funzione qui ora leggeremo i dati

45
00:02:26,770 --> 00:02:29,980
‫dal file e ce li restituirà, quindi dobbiamo

46
00:02:29,980 --> 00:02:31,600
‫salvarli da qualche

47
00:02:31,600 --> 00:02:34,083
‫parte e metterli in una variabile.

48
00:02:35,200 --> 00:02:40,200
‫Quindi diciamo textIn perché è un input più testuale.

49
00:02:43,430 --> 00:02:46,780
‫Ok, quindi accediamo alla console solo

50
00:02:46,780 --> 00:02:49,510
‫per vedere se funziona.

51
00:02:49,510 --> 00:02:53,230
‫Dagli un secondo e ora dobbiamo eseguirlo di nuovo qui.

52
00:02:53,230 --> 00:02:56,370
‫Quindi nel terminale, posso semplicemente usare la freccia su per

53
00:02:56,370 --> 00:02:57,993
‫eseguire il comando precedente.

54
00:02:59,230 --> 00:03:02,540
‫Quindi qui è nodeindex. js di nuovo.

55
00:03:02,540 --> 00:03:07,540
‫Premi Invio, e vediamo, e infatti ci siamo.

56
00:03:07,550 --> 00:03:11,090
‫Quindi ecco il contenuto di quel file.

57
00:03:11,090 --> 00:03:12,560
‫Così perfetta.

58
00:03:12,560 --> 00:03:15,900
‫Ora sappiamo come leggere le cose dai file.

59
00:03:15,900 --> 00:03:17,700
‫Congratulazioni.

60
00:03:17,700 --> 00:03:22,700
‫Ok, ma vogliamo anche sapere come scrivere su file.

61
00:03:23,010 --> 00:03:26,520
‫Quindi creiamo qui una nuova variabile con altro testo

62
00:03:26,520 --> 00:03:29,423
‫e poi scriviamola in un nuovo file.

63
00:03:30,490 --> 00:03:35,233
‫Quindi chiamiamolo textOut, quindi per l'output.

64
00:03:36,180 --> 00:03:38,630
‫E fondamentalmente scriviamo solo

65
00:03:38,630 --> 00:03:41,653
‫una stringa in cui includeremo questo testo.

66
00:03:42,520 --> 00:03:44,680
‫Userò una stringa modello qui, e

67
00:03:44,680 --> 00:03:46,160
‫a questo punto

68
00:03:46,160 --> 00:03:50,270
‫presumo che tu abbia una certa familiarità con la sintassi es6, ok.

69
00:03:50,270 --> 00:03:52,560
‫Quindi abbiamo già usato const

70
00:03:52,560 --> 00:03:57,530
‫qui, che è un modo es6 di dichiarare variabili invece di var, e

71
00:03:57,530 --> 00:04:01,410
‫ora la stringa del modello, che è un'altra cosa es6.

72
00:04:01,410 --> 00:04:04,050
‫Quindi, prima di es6, se

73
00:04:04,050 --> 00:04:07,870
‫volessi aggiungere qualcosa al testo, dovresti usare l'operatore più.

74
00:04:07,870 --> 00:04:12,870
‫Quindi diciamo "questo è" e poi spazio e poi testo.

75
00:04:18,170 --> 00:04:21,330
‫Ok, quindi dovresti usare l'operatore più, ma se è una

76
00:04:21,330 --> 00:04:23,440
‫stringa modello è molto più semplice.

77
00:04:23,440 --> 00:04:27,770
‫Tutto quello che dobbiamo fare è usare i backtick, poi del testo,

78
00:04:27,770 --> 00:04:29,380
‫e poi in questa

79
00:04:29,380 --> 00:04:31,453
‫stringa puoi facilmente collegare la variabile.

80
00:04:32,765 --> 00:04:37,383
‫Quindi diciamo: "Questo è ciò che sappiamo dell'avocado. " Quindi usiamo

81
00:04:40,370 --> 00:04:45,370
‫questa sintassi per inserire la variabile, okay, e quindi fondamentalmente

82
00:04:46,840 --> 00:04:50,220
‫all'interno di queste parentesi graffe qui possiamo

83
00:04:50,220 --> 00:04:52,960
‫scrivere qualsiasi JavaScript che vogliamo.

84
00:04:52,960 --> 00:04:56,950
‫Quindi non è solo per collegare le variabili immediatamente,

85
00:04:56,950 --> 00:04:58,630
‫possiamo anche fare

86
00:04:58,630 --> 00:05:02,830
‫molti calcoli o qualsiasi espressione javaScript che volevamo qui.

87
00:05:02,830 --> 00:05:05,823
‫Ora, diciamo un nuovo carattere di linea.

88
00:05:06,980 --> 00:05:09,383
‫Quindi questa è una nuova linea, ok.

89
00:05:11,360 --> 00:05:14,870
‫E solo per mostrarti che possiamo effettivamente usare

90
00:05:14,870 --> 00:05:18,240
‫JavaScript all'interno di queste parentesi graffe qui.

91
00:05:18,240 --> 00:05:21,463
‫Quindi questo simbolo del dollaro e poi parentesi graffe.

92
00:05:22,900 --> 00:05:27,900
‫Quindi data, o in realtà data così, punto ora.

93
00:05:28,450 --> 00:05:31,420
‫Ok, questa è la nostra stringa,

94
00:05:31,420 --> 00:05:35,480
‫che ha questo testo qui insieme al testo che

95
00:05:35,480 --> 00:05:38,290
‫abbiamo letto prima dalla variabile.

96
00:05:38,290 --> 00:05:42,070
‫E quindi ora scriviamolo in un nuovo file.

97
00:05:42,070 --> 00:05:44,800
‫Quindi, di nuovo, usiamo il modulo FS

98
00:05:44,800 --> 00:05:47,033
‫e questa volta writeFileSync.

99
00:05:51,200 --> 00:05:54,683
‫Ok, e di nuovo specifichiamo il percorso del file,

100
00:05:55,680 --> 00:05:58,223
‫e lo vogliamo ancora nella cartella

101
00:05:59,830 --> 00:06:04,830
‫txt, e lo chiamiamo output. txt, ok.

102
00:06:06,560 --> 00:06:08,710
‫E ora dobbiamo effettivamente

103
00:06:08,710 --> 00:06:12,520
‫specificare cosa vogliamo scrivere in quel file, giusto,

104
00:06:12,520 --> 00:06:15,523
‫e dirci la variabile text out.

105
00:06:16,720 --> 00:06:19,280
‫E questo non restituisce nulla

106
00:06:19,280 --> 00:06:22,780
‫di significativo finché non salviamo nulla in nessuna variabile.

107
00:06:22,780 --> 00:06:27,380
‫Tutto ciò che facciamo è finalmente registrare qualcosa in più sulla console,

108
00:06:27,380 --> 00:06:31,033
‫come semplicemente informare se il file è stato scritto.

109
00:06:34,830 --> 00:06:37,680
‫Ok, allora proviamolo di nuovo.

110
00:06:37,680 --> 00:06:40,163
‫Pulirò la console con il comando K.

111
00:06:41,700 --> 00:06:46,600
‫Premi il tasto freccia su, invio e forse l'hai visto.

112
00:06:46,600 --> 00:06:50,210
‫Ora abbiamo questo nuovo file chiamato Output e, se

113
00:06:50,210 --> 00:06:52,757
‫lo apro, vedrai "Questo è ciò che

114
00:06:52,757 --> 00:06:54,660
‫sappiamo dell'avocado", che è

115
00:06:54,660 --> 00:06:58,620
‫ciò che abbiamo scritto nell'indice. js, e quindi

116
00:06:58,620 --> 00:07:01,020
‫questo è il testo che

117
00:07:01,020 --> 00:07:04,620
‫veniva prima dal file di input, giusto.

118
00:07:04,620 --> 00:07:06,810
‫Quindi la nuova linea che abbiamo

119
00:07:06,810 --> 00:07:09,280
‫creato, e quindi creata praticamente in questa data.

120
00:07:09,280 --> 00:07:10,980
‫Quindi questa è la data. ora,

121
00:07:10,980 --> 00:07:14,753
‫quindi è solo un timestamp in millisecondi.

122
00:07:16,590 --> 00:07:18,400
‫Va bene, ed è così che leggi

123
00:07:18,400 --> 00:07:22,423
‫e scrivi da e verso i file in Node. JS.

