Kunal Vashist
Kunal Vashist

Reputation: 2471

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

Do any one have a sample code of how to read and write from/into text file using javascript

What i tried is like created a iframe and load text file into it from iframe i read the content and using string operation make some changes, and i have no idea how to write back to text file. and also on ie browser this code is not working.

My text.txt file contain First line second Line Third Line Fourth Line

<html>

<head>
  <title></title>
</head>

<body>
<script language="JavaScript" type="text/javascript">
<!--


var srcFrame;

function loadOuter(doc) {
 srcFrame = document.getElementById("hiddenContent");
 srcFrame.src = doc;



 transferHTML();

}

function transferHTML(){
 srcContent='';
 if (srcFrame.contentDocument){
 alert("document");
  srcContent=srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML;
 }
 else if (srcFrame.contentWindow){
  alert("window");
  srcContent=srcFrame.contentWindow.document.body.innerHTML;
 }

srcContent.length;
alert(" before push "+srcContent);
var arrayText="Last Line";
var lines = srcContent.split('\n');
lines=lines.slice(0, -1);
lines.push(arrayText,"</pre>");
lines = lines.join('\n');
srcContent=lines;
alert(srcContent);
document.getElementById("outerDisplay").innerHTML = srcContent;
}

</script>

<INPUT TYPE="button" VALUE="Test.txt" onClick="loadOuter('Test.txt')" >

<div id="outerDisplay"></div>

<iframe  id="hiddenContent" width="200" height="200" style="position:absolute;visibility:hidden;" ></iframe>

</body>

</html>

Upvotes: 1

Views: 12177

Answers (2)

Teemu
Teemu

Reputation: 23416

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.

Upvotes: 1

Wayne Cornish
Wayne Cornish

Reputation: 635

If you're talking about the local file system, your options are covered in Does HTML5 allow you to interact with local client files from within a browser

Upvotes: 0

Related Questions