﻿1
00:00:01,410 --> 00:00:03,890
‫Narrador: Esta é uma palestra

2
00:00:03,890 --> 00:00:07,230
‫realmente empolgante, porque você aprenderá como ler dados de

3
00:00:07,230 --> 00:00:10,393
‫arquivos e também como gravar dados em arquivos.

4
00:00:12,110 --> 00:00:15,050
‫E já importamos o módulo embutido que

5
00:00:15,050 --> 00:00:17,450
‫precisamos para isso na última

6
00:00:17,450 --> 00:00:20,910
‫aula, então vamos agora nos livrar deste código

7
00:00:20,910 --> 00:00:23,990
‫e começar a usar o módulo FS.

8
00:00:23,990 --> 00:00:26,707
‫Portanto, usamos fs. readfilesync, ok.

9
00:00:30,720 --> 00:00:34,250
‫E sync significa synchronous, e você começará

10
00:00:34,250 --> 00:00:36,210
‫a aprender sobre

11
00:00:36,210 --> 00:00:40,240
‫síncrono e assíncrono logo no próximo vídeo, ok.

12
00:00:40,240 --> 00:00:43,760
‫Portanto, esta é a versão síncrona da leitura de arquivos.

13
00:00:43,760 --> 00:00:47,040
‫Também existe uma versão assíncrona.

14
00:00:47,040 --> 00:00:50,880
‫Portanto, a função de sincronização de arquivo de leitura leva dois argumentos.

15
00:00:50,880 --> 00:00:54,640
‫O primeiro é o caminho para o arquivo que estamos

16
00:00:54,640 --> 00:00:57,300
‫lendo e também o caractere codificado.

17
00:00:57,300 --> 00:00:59,700
‫Então, primeiro o caminho para

18
00:00:59,700 --> 00:01:02,163
‫o arquivo, e o arquivo está na

19
00:01:04,130 --> 00:01:06,973
‫pasta txt, e é a pasta de entrada.

20
00:01:08,170 --> 00:01:12,260
‫Então, esse texto que tenho aqui sobre o abacate é

21
00:01:12,260 --> 00:01:15,740
‫o que vamos ler em uma variável.

22
00:01:15,740 --> 00:01:18,060
‫E não tenho certeza se você

23
00:01:18,060 --> 00:01:21,950
‫conseguirá ver esse emoji aqui no seu sistema operacional, mas se

24
00:01:21,950 --> 00:01:24,710
‫você estiver no Windows 8 ou Windows

25
00:01:24,710 --> 00:01:26,960
‫10, provavelmente vai funcionar bem.

26
00:01:28,000 --> 00:01:31,420
‫Ok, especificamos um caminho lá, e há várias

27
00:01:31,420 --> 00:01:33,730
‫maneiras de fazer isso, mas

28
00:01:33,730 --> 00:01:36,573
‫por enquanto vou com a mais simples.

29
00:01:37,490 --> 00:01:42,490
‫Então, tudo que vou fazer é configurá-lo em / txt / input. TXT.

30
00:01:47,460 --> 00:01:50,470
‫Então, novamente, estamos começando na pasta pessoal, que

31
00:01:50,470 --> 00:01:52,100
‫é basicamente a pasta onde

32
00:01:52,100 --> 00:01:55,350
‫está o índice. O arquivo js está localizado,

33
00:01:55,350 --> 00:01:57,430
‫então esse é o ponto ali, e

34
00:01:57,430 --> 00:02:00,060
‫então passamos para a pasta txt e, a

35
00:02:00,060 --> 00:02:02,633
‫partir daí, entramos. TXT.

36
00:02:03,670 --> 00:02:05,080
‫Então aqui o

37
00:02:05,080 --> 00:02:07,550
‫segundo temos que definir a codificação de

38
00:02:07,550 --> 00:02:10,320
‫caracteres, que é utf8, normalmente, pelo menos se

39
00:02:10,320 --> 00:02:12,710
‫você estiver usando apenas o inglês.

40
00:02:12,710 --> 00:02:15,200
‫Ok, e se você não especificar

41
00:02:15,200 --> 00:02:18,770
‫isso, obteremos algo chamado buffer, ok, e não é realmente

42
00:02:18,770 --> 00:02:20,210
‫o que queremos.

43
00:02:20,210 --> 00:02:22,900
‫Nós realmente queremos apenas o texto.

44
00:02:22,900 --> 00:02:26,770
‫E assim, chamar esta função aqui agora lerá os dados

45
00:02:26,770 --> 00:02:29,980
‫do arquivo e os retornará para nós, então

46
00:02:29,980 --> 00:02:31,600
‫precisamos salvá-los em

47
00:02:31,600 --> 00:02:34,083
‫algum lugar e colocá-los em uma variável.

48
00:02:35,200 --> 00:02:40,200
‫Então, digamos textIn porque é mais uma entrada de texto.

49
00:02:43,430 --> 00:02:46,780
‫Ok, e então vamos registrá-lo no console

50
00:02:46,780 --> 00:02:49,510
‫apenas para ver se funciona.

51
00:02:49,510 --> 00:02:53,230
‫Espere um segundo e agora precisamos executar isso aqui novamente.

52
00:02:53,230 --> 00:02:56,370
‫Portanto, no terminal, posso apenas usar a seta para cima

53
00:02:56,370 --> 00:02:57,993
‫para executar o comando anterior.

54
00:02:59,230 --> 00:03:02,540
‫Então aqui está nodeindex. js novamente.

55
00:03:02,540 --> 00:03:07,540
‫Pressione return e vamos ver, e de fato aqui vamos nós.

56
00:03:07,550 --> 00:03:11,090
‫Então, aqui está o conteúdo desse arquivo.

57
00:03:11,090 --> 00:03:12,560
‫Tão perfeito.

58
00:03:12,560 --> 00:03:15,900
‫Agora sabemos ler coisas de arquivos.

59
00:03:15,900 --> 00:03:17,700
‫Parabéns.

60
00:03:17,700 --> 00:03:22,700
‫Ok, mas também queremos saber como escrever em arquivos.

61
00:03:23,010 --> 00:03:26,520
‫Portanto, vamos criar uma nova variável aqui com mais algum texto

62
00:03:26,520 --> 00:03:29,423
‫e, em seguida, escrevê-la em um novo arquivo.

63
00:03:30,490 --> 00:03:35,233
‫Então, vamos chamá-lo de textOut, portanto, para a saída.

64
00:03:36,180 --> 00:03:38,630
‫E, basicamente, vamos escrever

65
00:03:38,630 --> 00:03:41,653
‫uma string na qual incluiremos esse texto.

66
00:03:42,520 --> 00:03:44,680
‫Vou usar uma string de modelo

67
00:03:44,680 --> 00:03:46,160
‫aqui e, neste

68
00:03:46,160 --> 00:03:50,270
‫ponto, presumir que você esteja familiarizado com a sintaxe es6, ok.

69
00:03:50,270 --> 00:03:52,560
‫Portanto, já usamos const aqui,

70
00:03:52,560 --> 00:03:57,530
‫que é uma maneira es6 de declarar variáveis em vez de var, e

71
00:03:57,530 --> 00:04:01,410
‫agora a string de modelo, que é outra coisa es6.

72
00:04:01,410 --> 00:04:04,050
‫Portanto, antes do es6, se você

73
00:04:04,050 --> 00:04:07,870
‫quisesse adicionar algo ao texto, teria que usar o operador mais.

74
00:04:07,870 --> 00:04:12,870
‫Digamos "isto é" e, em seguida, espaço e texto.

75
00:04:18,170 --> 00:04:21,330
‫Ok, então você teria que usar o operador mais, mas se for

76
00:04:21,330 --> 00:04:23,440
‫uma string de modelo é muito mais fácil.

77
00:04:23,440 --> 00:04:27,770
‫Tudo o que precisamos fazer é usar os crases, depois um pouco de texto

78
00:04:27,770 --> 00:04:29,380
‫e, a seguir, nessa

79
00:04:29,380 --> 00:04:31,453
‫string você pode facilmente inserir a variável.

80
00:04:32,765 --> 00:04:37,383
‫Então, digamos: "Isso é o que sabemos sobre o abacate. "Então, usamos essa

81
00:04:40,370 --> 00:04:45,370
‫sintaxe para inserir a variável, ok, e basicamente

82
00:04:46,840 --> 00:04:50,220
‫dentro dessas chaves aqui, podemos escrever

83
00:04:50,220 --> 00:04:52,960
‫qualquer JavaScript que quisermos.

84
00:04:52,960 --> 00:04:56,950
‫Portanto, não é apenas para inserir variáveis imediatamente,

85
00:04:56,950 --> 00:04:58,630
‫também podemos fazer

86
00:04:58,630 --> 00:05:02,830
‫muitos cálculos ou qualquer expressão javaScript que quisermos aqui.

87
00:05:02,830 --> 00:05:05,823
‫Agora, digamos um novo caractere de linha.

88
00:05:06,980 --> 00:05:09,383
‫Então essa é uma nova linha, ok.

89
00:05:11,360 --> 00:05:14,870
‫E apenas para mostrar que podemos realmente

90
00:05:14,870 --> 00:05:18,240
‫usar JavaScript dentro dessas chaves aqui.

91
00:05:18,240 --> 00:05:21,463
‫Então, este cifrão e as chaves.

92
00:05:22,900 --> 00:05:27,900
‫Então namore, ou realmente namore assim, ponto agora.

93
00:05:28,450 --> 00:05:31,420
‫Ok, então essa é a nossa string,

94
00:05:31,420 --> 00:05:35,480
‫que tem esse texto aqui junto com o texto

95
00:05:35,480 --> 00:05:38,290
‫que lemos antes da variável.

96
00:05:38,290 --> 00:05:42,070
‫E agora vamos escrever isso em um novo arquivo.

97
00:05:42,070 --> 00:05:44,800
‫Então, novamente, usamos o módulo FS

98
00:05:44,800 --> 00:05:47,033
‫e, desta vez, writeFileSync.

99
00:05:51,200 --> 00:05:54,683
‫Ok, e novamente especificamos o caminho para o arquivo

100
00:05:55,680 --> 00:05:58,223
‫e ainda o queremos na pasta

101
00:05:59,830 --> 00:06:04,830
‫txt e chamamos de saída. txt, ok.

102
00:06:06,560 --> 00:06:08,710
‫E agora temos que realmente

103
00:06:08,710 --> 00:06:12,520
‫especificar o que queremos escrever nesse arquivo, certo, e nos

104
00:06:12,520 --> 00:06:15,523
‫dizer a variável de saída de texto.

105
00:06:16,720 --> 00:06:19,280
‫E isso não retorna nada

106
00:06:19,280 --> 00:06:22,780
‫significativo até que não salvemos nada em nenhuma variável.

107
00:06:22,780 --> 00:06:27,380
‫Tudo o que fazemos é finalmente registrar algo mais no console,

108
00:06:27,380 --> 00:06:31,033
‫como apenas informar se o arquivo foi gravado.

109
00:06:34,830 --> 00:06:37,680
‫Ok, então vamos testar novamente.

110
00:06:37,680 --> 00:06:40,163
‫Vou limpar o console com o comando K.

111
00:06:41,700 --> 00:06:46,600
‫Aperte a tecla de seta para cima, entre e talvez você tenha visto.

112
00:06:46,600 --> 00:06:50,210
‫Agora temos este novo arquivo chamado Output e, se eu abri-lo,

113
00:06:50,210 --> 00:06:52,757
‫você verá: "Isso é o que sabemos

114
00:06:52,757 --> 00:06:54,660
‫sobre o abacate", que

115
00:06:54,660 --> 00:06:58,620
‫é o que escrevemos no índice. js, e este

116
00:06:58,620 --> 00:07:01,020
‫é o texto que

117
00:07:01,020 --> 00:07:04,620
‫veio antes do arquivo de entrada, certo.

118
00:07:04,620 --> 00:07:06,810
‫Em seguida, a nova linha que

119
00:07:06,810 --> 00:07:09,280
‫criamos e, em seguida, criamos basicamente nesta data.

120
00:07:09,280 --> 00:07:10,980
‫Então este é um encontro. agora, é

121
00:07:10,980 --> 00:07:14,753
‫apenas um carimbo de data / hora em milissegundos.

122
00:07:16,590 --> 00:07:18,400
‫Tudo bem, e é assim que

123
00:07:18,400 --> 00:07:22,423
‫você lê e grava em arquivos no Node. JS

