1. 程式人生 > 實用技巧 >js操作檔案(ie可用)

js操作檔案(ie可用)

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>js操作檔案(ie可用)</title>
        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
    
    <script language="JavaScript"
> var fileDir=''; $(document).ready(function(){ fileDir=getFileDir(); $('#fileDir').html(fileDir); readInfo(); }); /**獲取當前檔案位置**/ function getFileDir(){ var curRequestPath = window.document.location.href;
var decode=decodeURI(curRequestPath); var dir=decode.substring('file:///'.length,decode.lastIndexOf("/")+1); return dir; } /**讀取檔案**/ function readInfo(){ var fileName=fileDir+$('#fileName').val(); if(fileName==""){ alert(
'檔名稱不能為空'); return; }else{ var fso,f,ts,s; var ForRWA=0,ForReading=1,ForWriting=2,ForAppending=8; var TristateUseDefault=-2,TristateTrue=-1,TristateFalse=0; fso=new ActiveXObject("Scripting.FileSystemObject"); f=fso.GetFile(fileName); ts=f.OpenAsTextStream(ForReading,TristateUseDefault); try{ s=ts.ReadAll(); }catch(e){} ts.Close(); $('#showArea').val(s); $('#editArea').val(s); alert('操作成功'); } } /**寫入檔案**/ function writeInfo(){ var fileName=fileDir+$('#fileName').val(); if(fileName==""){ alert('檔名稱不能為空'); return; }else{ var content=$('#editArea').val(); if(content==""){ alert('寫入內容不能為空'); } var ForRWA=0,ForReading=1,ForWriting=2; var TristateUseDefault=-2,TristateTrue=-1,TristateFalse=0; fso=new ActiveXObject("Scripting.FileSystemObject"); f=fso.GetFile(fileName); ForRWA=ForWriting; ts=f.OpenAsTextStream(ForRWA,TristateUseDefault); ts.Write(content); ts.Close(); $('#showArea').val(content); alert('操作成功'); } } /**建立檔案**/ function createInfo(){ var content=$('#createArea').val(); if(content==""){ alert('寫入內容不能為空'); return; } var date = new Date(); var year=date .getFullYear(); //獲取完整的年份(4位) var month=date .getMonth()+1; //獲取當前月份(0-11,0代表1月) var date=date.getDate(); //獲取當前日(1-31) var fileName=fileDir+'workData_'+year+'-'+month+'-'+date+'.json'; var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); if(fso.FileExists(fileName)){ alert('檔案已存在'); return; } // 建立新檔案 tf = fso.CreateTextFile(fileName, true); tf.Write(content); // 關閉檔案 tf.Close(); alert('操作成功'); } </script> </head> <body> <table width="100%" border="1"> <tr> <td colspan="3"> <p>檔案路徑:<span id="fileDir"></span></p> <p>檔名稱:<input name="text1" id="fileName" value="workData.json" size="40"></p> </td> </tr> <tr> <td width="30%"> <textarea id="showArea" name="showArea" cols="20" rows="10" style="width:98%"></textarea> </td> <td> <textarea id="editArea" name="editArea" cols="20" rows="10" style="width:98%"></textarea> </td> <td> <textarea id="createArea" name="createArea" cols="20" rows="10" style="width:98%"></textarea> </td> </tr> <tr> <td> <input type="button" value="讀取" onclick="readInfo()"> </td> <td> <input type="button" value="寫入" onclick="writeInfo()"> </td> <td> <input type="button" value="建立" onclick="createInfo()"> </td> </tr> </table> </body> </html>