In this tutorial, I will tell you about how you can read and write to text file using JavaScript. As we know JavaScript does not have the ability to access the user’s file system so for this we need to run the project on a server. To implement this we use node.js.
In node.js these are one library fs (File-System) which is used to manage all read and write operations. By using the fs module we can read and write files in both synchronous and asynchronous way.
There are many ways in which we can read and write data to file. Lets have a look on each of them one by one.
JavaScript Read and Write to Text File
Method 1: Using Node.js
First is by using writefile and readFile method in node.js environment.
writeFile:
This is used to write content to file. Its syntax is below:
writeFile(Path, Data, Callback)
It has three parameters path, data, callback.
Path: The path is the location of Text File. If the file is to be generated in the same folder as that of the program, then provide the name of the file only. If the file does not exist then the new file will be created automatically.
Data: Second is Data in This parameter we need to pass info that is required to write in the file.
Callback: Last one is the Callback Function in this we pass error string. If the operation fails to write the data, an error shows the fault.
index.js
<script> // import fs module in which writeFile function is defined. const fsLibrary = require('fs') // Data which will need to add in a file. let data = "Hello world." // Write data in 'newfile.txt' . fsLibrary.writeFile('newfile.txt', data, (error) => { // In case of a error throw err exception. if (error) throw err; }) </script>
To run above code run this command:
>node index.js
readFile:
It is used to read the content of the file. its syntax is:
readFile(Path, Options, Callback)
It also has three parameters path, callback, options.
path is a location of Text File. If both file and program are in a similar folder, then directly give the file name of the text file.
Second option which specifies the data is to be gathered from the file and it is optional. If you pass nothing then it returns raw buffer.
The last one is Callback function which has two more parameters (error, txtString). If at any instance it fails to load or read the file then it returns error or exception otherwise it returns all data of the file.
index.js
<script> // import fs module in which readFile function is specified. const fsLibrary = require('fs') fsLibrary.readFile('ind.txt', (error, txtString) => { if (error) throw err; console.log(txtString.toString()); }) </script>
To run this program enter below command:
>node index.js
Method 2: Using ActiveXObject
Another method is by using a web page ActiveX objects but this method is mainly work in Internet Explorer only.
This ActiveXObject is used to return an instance of a file system library which is used with the CreateTextFile method. This JS method which generates a file defined functions and states a TextStream object to read from or write to the file. It also returns a boolean value on the basis of this we can find out that we can overwrite to the current file or not. So, if you want to add the data to the created file you can use writeline method which is used to add text string to the file.
Using ActiveX objects, the following should be included in your code to read a file:
var ActivexObj = new ActiveXObject(libraryname.classname[, location])
The ActiveX object contains three things libraryname, classname, location. So, classname is the instance of a class that needs to be created. libraryname is a mandatory field and it is the sign of the app giving the object.
To open a new file:
let newfile = new ActiveXObject("Scripting.FileSystemObject"); let openFile = newfile.OpenTextFile("C:\\testfile.txt", 1, true);
Write data to a file:
var editFile = newfile.CreateTextFile("c:\\Demofile.txt", true); editFile.WriteLine("Add sample text to the file..."); editFile.WriteLine('steadyAdvice'); editFile.Close();
Method 3: Using PHP
Another approach is by using php. In this, we use some inbuilt javascript functions for reading and writing data to the files. These are some functions fopen(), fread() and fwrite() that we use here.
The function fopen() takes two arguments:
Path and Mode (0 for reading & 3 for writing).
The fopen() function returns -1 if the file is successfully opened.
Example:
To open a file use fopen method:
openFile=fopen(getFilePath(),0);
To read the file content use fread() function:
readString = fread(openFile,flength(file) ;
To write the contents to the file use fwrite() function :
editFile = fopen("c:\MyNewFile.txt", 3);// opens the file for writing fwrite(file, str);// str is the content that is to be written into the file.
Comment down below if you have any queries regarding how to read and write to text file in JavaScript.