All language subtitles for 005 Reading and Writing Files.en

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,410 --> 00:00:03,890 This is a really exciting lecture 2 00:00:03,890 --> 00:00:07,230 cause you're gonna learn how to read data from files, 3 00:00:07,230 --> 00:00:10,393 and also how to write data into files. 4 00:00:12,110 --> 00:00:15,050 And we already imported the built-in module 5 00:00:15,050 --> 00:00:17,450 that we need for that in the last lecture, 6 00:00:17,450 --> 00:00:20,910 and so let's now get rid of this code 7 00:00:20,910 --> 00:00:23,990 and start using the FS module. 8 00:00:23,990 --> 00:00:26,707 So we use fs.readfilesync, okay. 9 00:00:30,720 --> 00:00:34,250 And sync stands for synchronous, 10 00:00:34,250 --> 00:00:36,210 and you will start learning about synchronous 11 00:00:36,210 --> 00:00:40,240 and asynchronous right in the next video, okay. 12 00:00:40,240 --> 00:00:43,760 So this is the synchronous version of file reading. 13 00:00:43,760 --> 00:00:47,040 There is also an asynchronous version. 14 00:00:47,040 --> 00:00:50,880 So, the read file sync function takes two arguments. 15 00:00:50,880 --> 00:00:54,640 The first one is the path to the file that we're reading 16 00:00:54,640 --> 00:00:57,300 and then also the character encoded. 17 00:00:57,300 --> 00:00:59,700 So, first the path to the file, 18 00:00:59,700 --> 00:01:02,163 and the file is in the txt folder, 19 00:01:04,130 --> 00:01:06,973 and it is the input one. 20 00:01:08,170 --> 00:01:12,260 So, this text that I have here about the avocado 21 00:01:12,260 --> 00:01:15,740 is what we're gonna read into a variable. 22 00:01:15,740 --> 00:01:18,060 And I'm not sure if you're gonna be able 23 00:01:18,060 --> 00:01:21,950 to see this emoji here right on your operating system, 24 00:01:21,950 --> 00:01:24,710 but if you're on Windows 8 or Windows 10 25 00:01:24,710 --> 00:01:26,960 then that's probably going to work just fine. 26 00:01:28,000 --> 00:01:31,420 Okay, so we specified a path there, 27 00:01:31,420 --> 00:01:33,730 and there are multiple ways of doing that, 28 00:01:33,730 --> 00:01:36,573 but for now I'm gonna go with the simplest one. 29 00:01:37,490 --> 00:01:42,490 So, all I'm gonna do is set it in the /txt/input.txt. 30 00:01:47,460 --> 00:01:50,470 So again, we're starting at the home folder, 31 00:01:50,470 --> 00:01:52,100 which is basically the folder 32 00:01:52,100 --> 00:01:55,350 where the index.js file is located, 33 00:01:55,350 --> 00:01:57,430 so that's the dot in there, 34 00:01:57,430 --> 00:02:00,060 and then we move into the txt folder, 35 00:02:00,060 --> 00:02:02,633 and from there input.txt. 36 00:02:03,670 --> 00:02:05,080 Then here the second one we have 37 00:02:05,080 --> 00:02:07,550 to define the character encoding, 38 00:02:07,550 --> 00:02:10,320 which is utf8, usually, 39 00:02:10,320 --> 00:02:12,710 at least if you're just using English. 40 00:02:12,710 --> 00:02:15,200 Okay, and if you don't specify this, 41 00:02:15,200 --> 00:02:18,770 we get back something called a buffer, okay, 42 00:02:18,770 --> 00:02:20,210 and that's not really what we want. 43 00:02:20,210 --> 00:02:22,900 We really just want the text. 44 00:02:22,900 --> 00:02:26,770 And so, calling this function here will now read the data 45 00:02:26,770 --> 00:02:29,980 from the file and return it to us, 46 00:02:29,980 --> 00:02:31,600 and so we need save that somewhere 47 00:02:31,600 --> 00:02:34,083 and we put it into a variable. 48 00:02:35,200 --> 00:02:40,200 So let's say textIn because it's a more text input. 49 00:02:43,430 --> 00:02:46,780 Okay, and then let's log it to the console 50 00:02:46,780 --> 00:02:49,510 just to see if it works. 51 00:02:49,510 --> 00:02:53,230 Give it a second, and now we need to run this here again. 52 00:02:53,230 --> 00:02:56,370 So in the terminal, I can just use the up arrow 53 00:02:56,370 --> 00:02:57,993 to run the previous command. 54 00:02:59,230 --> 00:03:02,540 So here it is nodeindex.js again. 55 00:03:02,540 --> 00:03:07,540 Hit return, and let's see, and indeed here we go. 56 00:03:07,550 --> 00:03:11,090 So here is the content of that file. 57 00:03:11,090 --> 00:03:12,560 So, perfect. 58 00:03:12,560 --> 00:03:15,900 We now know how to read stuff from files. 59 00:03:15,900 --> 00:03:17,700 Congratulations. 60 00:03:17,700 --> 00:03:22,700 Okay, but we also want to know how to write to files. 61 00:03:23,010 --> 00:03:26,520 So let's create some new variable here with some more text, 62 00:03:26,520 --> 00:03:29,423 and then write it into a new file. 63 00:03:30,490 --> 00:03:35,233 So let's call that one textOut, so for output. 64 00:03:36,180 --> 00:03:38,630 And basically let's just write a string 65 00:03:38,630 --> 00:03:41,653 where we will then include this text in. 66 00:03:42,520 --> 00:03:44,680 I'm gonna be using a template string here, 67 00:03:44,680 --> 00:03:46,160 and at this point I'm gonna assume 68 00:03:46,160 --> 00:03:50,270 that you're kinda familiar with the es6 syntax, okay. 69 00:03:50,270 --> 00:03:52,560 So we already used const here, 70 00:03:52,560 --> 00:03:57,530 which is an es6 way of declaring variables instead of var, 71 00:03:57,530 --> 00:04:01,410 and now the template string, which is another es6 thing. 72 00:04:01,410 --> 00:04:04,050 So before the es6, if you wanted to add something 73 00:04:04,050 --> 00:04:07,870 to text in, you would have to use the plus operator. 74 00:04:07,870 --> 00:04:12,870 So let's say, "this is" and then space and then text in. 75 00:04:18,170 --> 00:04:21,330 Okay, so you would have to use the plus operator, 76 00:04:21,330 --> 00:04:23,440 but if it's a template string it's much easier. 77 00:04:23,440 --> 00:04:27,770 All we have to do is use the backticks, then some text, 78 00:04:27,770 --> 00:04:29,380 and then into this string you can 79 00:04:29,380 --> 00:04:31,453 very easily plug in the variable. 80 00:04:32,765 --> 00:04:37,383 So let's say, "This is what we know about the avocado." 81 00:04:40,370 --> 00:04:45,370 Then we use this syntax to input the variable, okay, 82 00:04:46,840 --> 00:04:50,220 and so basically inside of these curly braces here 83 00:04:50,220 --> 00:04:52,960 we can write any JavaScript that we want. 84 00:04:52,960 --> 00:04:56,950 So it's not just for plugging in variables straight away, 85 00:04:56,950 --> 00:04:58,630 we can also do a lot of calculations 86 00:04:58,630 --> 00:05:02,830 or any javaScript expression that we wanted in here. 87 00:05:02,830 --> 00:05:05,823 Now, let's say a new line character. 88 00:05:06,980 --> 00:05:09,383 So that's a new line, okay. 89 00:05:11,360 --> 00:05:14,870 And just to show you that we can actually use JavaScript 90 00:05:14,870 --> 00:05:18,240 inside of these curly braces here. 91 00:05:18,240 --> 00:05:21,463 So this dollar sign and then curly braces. 92 00:05:22,900 --> 00:05:27,900 So date, or actually date like this, dot now. 93 00:05:28,450 --> 00:05:31,420 Okay, so that is our string, 94 00:05:31,420 --> 00:05:35,480 which has this text here in together with the text 95 00:05:35,480 --> 00:05:38,290 that we read before from the variable. 96 00:05:38,290 --> 00:05:42,070 And so now let's write that to a new file. 97 00:05:42,070 --> 00:05:44,800 So again, we use the FS module, 98 00:05:44,800 --> 00:05:47,033 and this time, writeFileSync. 99 00:05:51,200 --> 00:05:54,683 Okay, and again we specify the path to the file, 100 00:05:55,680 --> 00:05:58,223 and we still want it in the txt folder, 101 00:05:59,830 --> 00:06:04,830 and we call it output.txt, okay. 102 00:06:06,560 --> 00:06:08,710 And now we have to actually specify 103 00:06:08,710 --> 00:06:12,520 what we want to write into that file, right, 104 00:06:12,520 --> 00:06:15,523 and tell us the text out variable. 105 00:06:16,720 --> 00:06:19,280 And this doesn't return anything meaningful 106 00:06:19,280 --> 00:06:22,780 until we don't save anything to any variable. 107 00:06:22,780 --> 00:06:27,380 All we do is to finally log something more to the console, 108 00:06:27,380 --> 00:06:31,033 like just informing if the file has been written. 109 00:06:34,830 --> 00:06:37,680 Okay, so let's test it out again. 110 00:06:37,680 --> 00:06:40,163 I'm gonna clear the console with command K. 111 00:06:41,700 --> 00:06:46,600 Hit the arrow up key, enter, and maybe you saw it. 112 00:06:46,600 --> 00:06:50,210 We here now have this new file called Output, 113 00:06:50,210 --> 00:06:52,757 and if I open it up, then you see, 114 00:06:52,757 --> 00:06:54,660 "This is what we know about the avocado," 115 00:06:54,660 --> 00:06:58,620 which is what we wrote in the index.js, 116 00:06:58,620 --> 00:07:01,020 and then this is the text that came 117 00:07:01,020 --> 00:07:04,620 before from the input file, right. 118 00:07:04,620 --> 00:07:06,810 Then the new line that we created, 119 00:07:06,810 --> 00:07:09,280 and then created on this date basically. 120 00:07:09,280 --> 00:07:10,980 So this is date.now, 121 00:07:10,980 --> 00:07:14,753 so it's just a timestamp in milliseconds. 122 00:07:16,590 --> 00:07:18,400 All right, and this is how you read 123 00:07:18,400 --> 00:07:22,423 and write to and from files in Node.JS. 9794

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.