天天看點

JAVASCRIPT 讀取本地檔案

用JavaScript打開浏覽器本地檔案,把資料自動填寫到表單

javascript 是一種用戶端腳本語言。運作在浏覽器環境下,而不是在伺服器上運作。它能增強用戶端的功能,提高用戶端的效率。

1995.12.4 。 Netscape 和 SUN 公司合作,推出了 JavaScript1.0 。當時稱為 LiveScript. 是一種解釋性語言。 JavaScript 被定位在作為 Java 語言的一種補充,

Jscript 是微軟公司模仿 JavaScipt 的作品。但又遺漏了一些特性。是以稍微有所不同。但基本上可看作是一種語言。

最近, JavaScript 也被包括在 Microsoft 的 Windows Scripting Host 中,這樣程式員就可以編寫在作業系統本身執行的腳本。并且提供安全保護措施。在對本地檔案操作前都要征求使用者允許。

代碼實作了用JavaScript打開浏覽器本地檔案,把資料自動填寫到表單:

form1用來打開本地資料檔案。一個資料一行

form2是需填寫的表單。有多項。text的名字分别從1--N。

function ReadLine()

{

// 從表單 1 裡擷取檔案位址

var url=form1.browser.value;

// 聲明一個 FileSystemObject 的執行個體

var myFileSysObj = new ActiveXObject("Scripting.FileSystemObject");

// 聲明一個 textStream 對象 用來打開檔案

var myInputTextStream = myFileSysObj.OpenTextFile(url,1,true);

var i =1;

while(!myInputTextStream.AtEndOfStream)

{

       var aa=Number(i).toString();

       form2.item(aa).value = myInputTextStream.ReadLine();

       i++;

}

//close the stream to the files

myInputTextStream.Close();

}

</script>

FileSystemObject簡介及應用:  

  方法或者屬性   描述    

  BuildPath()    

    生成一個檔案路徑    

  CopyFile()     複制檔案    

  CopyFolder()   複制目錄    

  CreateFolder()     建立新目錄    

  CreateTextFile()     生成一個檔案    

  DeleteFile()     删除一個檔案    

  DeleteFolder()     删除一個目錄    

  DriveExists()     檢驗盤符是否存在    

  Drives   傳回盤符的集合    

  FileExists()     檢驗檔案是否存在    

  FolderExists   檢驗一個目錄是否存在    

  GetAbsolutePathName()     取得一個檔案的絕對路徑    

  GetBaseName()     取得檔案名    

  GetDrive()     取得盤符名    

  GetDriveName()     取得盤符名    

  GetExtensionName()     取得檔案的字尾    

  GetFile()     生成檔案對象    

  GetFileName()     取得檔案名    

  GetFolder()     取得目錄對象    

  GetParentFolderName   取得檔案或目錄的父目錄名    

  GetSpecialFolder()     取得特殊的目錄名    

  GetTempName()     生成一個臨時檔案對象    

  MoveFile()     移動檔案    

  MoveFolder()     移動目錄    

  OpenTextFile()     打開一個檔案流    

示例二

 var tbsource = document.getElementById("tbsource").value;//本地檔案夾路徑

 var hdfiles = "";

var objFSO =new ActiveXObject('Scripting.FileSystemObject');

if(!objFSO.FolderExists(tbsource))

{

            alert("<"+tbsource+">該檔案夾路徑不存在,或者路徑不能含檔案名!");

            objFSO = null;

            return;

}

var objFolder = objFSO.GetFolder(tbsource);

var colFiles = new Enumerator(objFolder.Files);

var re_inf1 = //.jpg$/;   //驗證檔案夾檔案是否jpg檔案

 for (; !colFiles.atEnd(); colFiles.moveNext()) //讀取檔案夾下檔案

 {

            var objFile = colFiles.item();

            if(re_inf1.test(objFile.Name.toLowerCase()))

            {

              hdfiles = hdfiles+objFile.Name+";";

            }

  }

繼續閱讀