Skip to content

Instantly share code, notes, and snippets.

@code-boxx
Created June 7, 2023 02:19
Show Gist options
  • Save code-boxx/4f85082ce7d75dc1afe9588fd85c7531 to your computer and use it in GitHub Desktop.
Save code-boxx/4f85082ce7d75dc1afe9588fd85c7531 to your computer and use it in GitHub Desktop.
NodeJS Read Files

NODEJS READ FILES

https://code-boxx.com/nodejs-read-files/

LICENSE

Copyright by Code Boxx

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

// (A) FILE SYSTEM MODULE
const fs = require("fs");
// (B) READ FILE INTO STRING (ASYNC)
fs.readFile("README.txt", "utf8", (err, data) => {
// (B1) OPTIONAL - HANDLE ERROR
if (err) { console.log(err); }
// (B2) FILE DATA
console.log(data);
console.log(typeof data);
});
// (A) FILE SYSTEM MODULE
const fs = require("fs");
// (B) READ FILE INTO STRING (SYNC)
try { var data = fs.readFileSync("README.txt", "utf8"); }
catch (err) { console.log(err); }
// (C) FILE DATA
console.log(data);
console.log(typeof data);
// (A) FILE SYSTEM + READLINE MODULES
const fs = require("fs"),
rl = require("readline");
// (B) CREATE READ STREAM
const reader = rl.createInterface({
input: fs.createReadStream("README.txt")
});
// (C) READ LINES
var count = 1;
reader.on("line", row => {
console.log(`Line ${count} : ${row}`);
count++;
});
// (A) FILE SYSTEM MODULE
const fs = require("fs");
// (B) READ FILE INTO STRING
fs.readFile("README.txt", "utf8", (err, data) => {
// (B1) SPLIT LINES INTO ARRAY
data = data.split("\r\n");
// (B2) FILE DATA
console.log(data);
console.log(typeof data);
console.log(data.length);
});
// (A) FILE SYSTEM + READLINE MODULES
const fs = require("fs"),
rl = require("readline");
// (B) CREATE READ STREAM
const reader = rl.createInterface({
input: fs.createReadStream("README.txt")
});
// (C) READ LINES
var data = [];
reader.on("line", row => data.push(row));
// (D) FINISHED READING ENTIRE FILE
reader.on("close", () => {
console.log(data);
console.log(typeof data);
console.log(data.length);
});
// (A) HTTPS REQUEST MODULE
const https = require("https");
// (B) GET REQUEST
https.get("https://en.wikipedia.org/wiki/Aha_ha", res => {
// (B1) COLLECT DATA
let data = "";
res.on("data", chunk => data += chunk);
// (B2) ON TRANSFER COMPLETE
res.on("end", () => console.log(data));
})
// (B3) OPTIONAL - HANDLE ERRORS
.on("error", err => console.log(err));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment