How to Read and Write into File Using JavaScript

Is it possible to write data to file using only JavaScript?

Some suggestions for this -

  1. If you are trying to write a file on client machine, You can't do this in any cross-browser way. IE does have methods to enable "trusted" applications to use ActiveX objects to read/write file.
  2. If you are trying to save it on your server then simply pass on the text data to your server and execute the file writing code using some server side language.
  3. To store some information on the client side that is considerably small, you can go for cookies.
  4. Using the HTML5 API for Local Storage.

How to read and write from/into text file using javascript?

In IE this is possible using ActiveXObject and HTA. These, however, are recommended to use local only, not in the WEB. Look at: http://msdn.microsoft.com/en-us/library/ms536471%28v=vs.85%29.aspx

More info for file operations: http://msdn.microsoft.com/en-us/library/bstcxhf7%28v=vs.84%29.aspx

Basic functions below:

ActiveXObject definition:

fso=new ActiveXObject('Scripting.FileSystemObject');

Reading file:

iStream=fso.OpenTextFile('filePath',1,false);
iStream.ReadAll();
/* or looped iStream.ReadLine() */
iStream.Close();

Writing file:

oStream=fso.OpenTextFile('filePath',2,true);
oStream.WriteLine(/*your_data*/);// This usually is looped according to your data
oStream.Close();

fso-object can also be used in regular HTM-page, but you're asked to accept use of the ActiveXObject very often.

How to Read/Write from text file using javascript?

You can't interact with the local filesystem in Javascript, since it's client side. If you want to store a value from session to session in Javascript, then you should have a look at some other kind of storage :)
Have a look at https://cordova.apache.org/docs/en/3.0.0/cordova_storage_storage.md.html - It should get you on the right track :)

How can I read and write into another file using javascript on html website?

Unfortunately you can't use fs in the browser as it is a node module.
Reference: https://nodejs.org/api/fs.html

One potential route is for you to take your existing node / fs code and move it server side. Then you would just need to develop endpoints for your website to reach.

Otherwise you could try something like localStorage to store the count to the client's browser.

 localStorage.setItem('count', 0);

More information: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

How to read a local text file in the browser?

You need to check for status 0 (as when loading files locally with XMLHttpRequest, you don't get a status returned because it's not from a Webserver)

function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
}
rawFile.send(null);
}

And specify file:// in your filename:

readTextFile("file:///C:/your/path/to/file.txt");

Read / Write txt file on server using only javascript without involving any server side language

Only if JavaScript is your server side language (e.g. with Node.JS).

Servers don't let you write files to them by default. That would be a horrible security problem.



Related Topics



Leave a reply



Submit