<i id="msc7g"><bdo id="msc7g"><li id="msc7g"></li></bdo></i>
    <mark id="msc7g"><big id="msc7g"></big></mark>

    <u id="msc7g"><pre id="msc7g"><delect id="msc7g"></delect></pre></u>
  1. <video id="msc7g"><table id="msc7g"></table></video>
  2. <thead id="msc7g"></thead>
    <sub id="msc7g"><pre id="msc7g"><samp id="msc7g"></samp></pre></sub>
      <video id="msc7g"></video>

      <input id="msc7g"><big id="msc7g"></big></input>
      <u id="msc7g"><bdo id="msc7g"></bdo></u>

      <i id="msc7g"><bdo id="msc7g"><li id="msc7g"></li></bdo></i>
      .CN 三亞資訊 生活散文
      用戶名:    密碼:   注冊
        工行 中行 建行 交行 農行 郵政銀行   百度翻譯        京東 微博 網易 新浪 百度        163郵箱 QQ郵箱     
      首頁> 電腦雜記
      js 對本地文件的操作
      2023-02-10 12:19    989次

      今天項目用到需要在客戶端打開文件,并判斷文件的大小。

      <script language = "javascript" type = "text/javascript">
                  var getActiveXObject ,getFile,someMessage;
                   getAXO = new ActiveXObject("Scripting.FileSystemObject");  
                  getF = getAXO.GetFile("C:\bootbak.ini");  
                  someMessage = "FileName:" + getF.Name   + "Filesize:" + getF.size + " bytes."; 
           if(getF.size > 500)
           {
           alert(s);
           } 
           else
           {
           alert("This file's size is small!");
           } 
      </script>


      一、功能實現核心:FileSystemObject 對象

      其實,要在Javascript中實現文件操作功能,主要就是依靠FileSystemobject對象。在詳細介紹FileSystemobject對象的各個屬性和方法的使用細節前,先來看看這個對象包括哪些相關對象和集合:

      二、FileSystemObject編程三部曲

      使用FileSystemObject 對象進行編程很簡單,一般要經過如下的步驟: 創建FileSystemObject對象、應用相關方法、訪問對象相關屬性 。

      (一)創建FileSystemObject對象

      創建FileSystemObject對象的代碼只要1行:

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

      上述代碼執行后,fso就成為一個FileSystemObject對象實例。

      (二)應用相關方法

      創建對象實例后,就可以使用對象的相關方法了。比如,使用CreateTextFile方法創建一個文本文件:

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

      var f1 = fso.createtextfile("c:\myjstest.txt",true");

      (三)訪問對象相關屬性

      要訪問對象的相關屬性,首先要建立指向對象的句柄,這就要通過get系列方法實現:GetDrive負責獲取驅動器信息,GetFolder負責獲取文件夾信息,GetFile負責獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c: est.txt的句柄:

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

      var f1 = fso.GetFile("c:\myjstest.txt");

      然后,使用f1訪問對象的相關屬性。比如:

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

      var f1 = fso.GetFile("c:\myjstest.txt");

      alert("File last modified: " + f1.DateLastModified);

      執行上面最后一句后,將顯示c:myjstest.txt的最后修改日期屬性值。

      但有一點請注意:對于使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時直接使用create方法建立的句柄名稱就可以:

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

      var f1 = fso.createtextfile("c:\myjstest.txt",true");

      alert("File last modified: " + f1.DateLastModified);

      三、操作驅動器(Drives)

      使用FileSystemObject對象來編程操作驅動器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進行交互操作一樣,比如:拷貝、移動文件夾,獲取文件夾的屬性。

      (一)Drives對象屬性

      Drive對象負責收集系統中的物理或邏輯驅動器資源內容,它具有如下屬性:

      TotalSize:以字節(byte)為單位計算的驅動器大小。

      AvailableSpace或FreeSpace:以字節(byte)為單位計算的驅動器可用空間。

      DriveLetter:驅動器字母。

      DriveType:驅動器類型,取值為:removable(移動介質)、fixed(固定介質)、network(網絡資源)、CD-ROM或者RAM盤。

      SerialNumber:驅動器的系列碼。

      FileSystem:所在驅動器的文件系統類型,取值為FAT、FAT32和NTFS。

      IsReady:驅動器是否可用。

      ShareName:共享名稱。

      VolumeName:卷標名稱。

      Path和RootFolder:驅動器的路徑或者根目錄名稱。

      (二)Drive對象操作例程

      下面的例程顯示驅動器C的卷標、總容量和可用空間等信息:

      var fso, drv, s ="";

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

      drv = fso.GetDrive(fso.GetDriveName("c:\"));

      s += "Drive C:" + " - ";

      s += drv.VolumeName + " ";

      s += "Total Space: " + drv.TotalSize / 1024;

      s += " Kb" + " ";

      s += "Free Space: " + drv.FreeSpace / 1024;

      s += " Kb" + " ";

      alert(s);

      執行后出現下面的信息框:

      四、操作文件夾(Folders)

      涉及到文件夾的操作包括創建、移動、刪除以及獲取相關屬性。

      (一) Folder對象的相關屬性和方法列表

      (二)Folder對象操作例程

      下面的例程將練習獲取父文件夾名稱、創建文件夾、刪除文件夾、判斷是否為根目錄等操作:

      var fso, fldr, s = "";

      // 創建FileSystemObject對象實例

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

      // 獲取Drive 對象

      fldr = fso.GetFolder("c:\");

      // 顯示父目錄名稱

      alert("Parent folder name is: " + fldr + " ");

      // 顯示所在drive名稱

      alert("Contained on drive " + fldr.Drive + " ");

      // 判斷是否為根目錄

      if (fldr.IsRootFolder)

      alert("This is the root folder.");

      else

      alert("This folder isn't a root folder.");

      alert(" ");

      // 創建新文件夾

      fso.CreateFolder ("C:\Bogus");

      alert("Created folder C:\Bogus" + " ");

      // 顯示文件夾基礎名稱,不包含路徑名

      alert("Basename = " + fso.GetBaseName("c:\bogus") + " ");

      // 刪除創建的文件夾

      fso.DeleteFolder ("C:\Bogus");

      alert("Deleted folder C:\Bogus" + " ");

      五、操作文件(Files)

      對文件進行的操作要比以上介紹的驅動器(Drive)和文件夾(Folder)操作復雜些,基本上分為以下兩個類別:對文件的創建、拷貝、移動、刪除操作和對文件內容的創建、添加、刪除和讀取操作。下面分別詳細介紹。

      (一)創建文件

      一共有3種方法可用于創建一個空文本文件,這種文件有時候也叫做文本流(text stream)。

      第一種是使用CreateTextFile方法。代碼如下:

      var fso, f1;

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

      f1 = fso.CreateTextFile("c:\testfile.txt", true);

      第二種是使用OpenTextFile方法,并添加上ForWriting屬性,ForWriting的值為2。代碼如下:

      var fso, ts;

      var ForWriting= 2;

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

      ts = fso.OpenTextFile("c:\test.txt", ForWriting, true);

      `第三種是使用OpenAsTextStream方法,同樣要設置好ForWriting屬性。代碼如下:

      var fso, f1, ts;

      var ForWriting = 2;

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

      fso.CreateTextFile ("c:\test1.txt");

      `f1 = fso.GetFile("c:\test1.txt");

      ts = f1.OpenAsTextStream(ForWriting, true);

      (二)添加數據到文件

      `當文件被創建后,一般要按照“打開文件->填寫數據->關閉文件”的步驟實現添加數據到文件的目的。

      打開文件可使用FileSystemObject對象的OpenTextFile方法,或者使用File對象的OpenAsTextStream方法。

      填寫數據要使用到TextStream對象的Write、WriteLine或者WriteBlankLines方法。在同是實現寫入數據的功能下,這3者的區別在于:Write方法不在寫入數據末尾添加新換行符,WriteLine方法要在最后添加一個新換行符,而WriteBlankLines則增加一個或者多個空行。

      關閉文件可使用TextStream對象的Close方法。

      (三)創建文件及添加數據例程

      下面的代碼將創建文件、添加數據、關閉文件幾個步驟結合起來進行應用:

      var fso, tf;

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

      // 創建新文件

      tf = fso.CreateTextFile("c:\testfile.txt", true);

      // 填寫數據,并增加換行符

      tf.WriteLine("Testing 1, 2, 3.") ;

      // 增加3個空行

      tf.WriteBlankLines(3) ;

      // 填寫一行,不帶換行符

      tf.Write ("This is a test.");

      // 關閉文件

      tf.Close();

      (四)讀取文件內容

      從文本文件中讀取數據要使用TextStream對象的Read、ReadLine或ReadAll 方法。Read方法用于讀取文件中指定數量的字符;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個內容。讀取的內容存放于字符串變量中,用于顯示、分析。在使用Read或ReadLine方法讀取文件內容時,如果要跳過一些部分,就要用到Skip或SkipLine方法。

      下面的代碼演示打開文件、填寫數據,然后讀取數據:

      var fso, f1, ts, s;

      var ForReading = 1;

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

      // 創建文件

      f1 = fso.CreateTextFile("c:\testfile.txt", true);

      // 填寫一行數據

      f1.WriteLine("Hello World");

      f1.WriteBlankLines(1);

      // 關閉文件

      f1.Close();

      // 打開文件

      ts = fso.OpenTextFile("c:\testfile.txt", ForReading);

      // 讀取文件一行內容到字符串

      s = ts.ReadLine();

      // 顯示字符串信息

      alert("File contents = '" + s + "'");

      // 關閉文件

      ts.Close();

      (五)移動、拷貝和刪除文件

      對于以上三種文件操作,Javascript各有兩種對應的方法:File.Move 或 FileSystemObject.MoveFile用于移動文件;File.Copy 或 FileSystemObject.CopyFile用于拷貝文件;File.Delete 或 FileSystemObject.DeleteFile用于刪除文件。

      下面的代碼演示在驅動器C的根目錄下創建一個文本文件,填寫一些內容,然后將文件移動到 mp目錄下,再在目錄 emp下面建立一個文件拷貝,最后刪除這兩個目錄的文件:

      var fso, f1, f2, s;

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

      f1 = fso.CreateTextFile("c:\testfile.txt", true);

      // 寫一行

      f1.Write("This is a test.");

      // 關閉文件

      f1.Close();

      // 獲取C:根目錄下的文件句柄

      f2 = fso.GetFile("c:\testfile.txt");

      // 移動文件到 mp目錄下

      f2.Move ("c:\tmp\testfile.txt");

      // 拷貝文件到 emp目錄下

      f2.Copy ("c:\temp\testfile.txt");

      // 獲取文件句柄

      f2 = fso.GetFile("c:\tmp\testfile.txt");

      f3 = fso.GetFile("c:\temp\testfile.txt");

      // 刪除文件

      f2.Delete();

      f3.Delete();

       

    1. 網友評論僅供網友表達個人看法,并不表明三亞資訊同意其觀點或證實其描述:
    2. 驗證碼:
    3. 蓋蒂博物館,私人收藏家的藏品
      三亞梅聯角頭灣星空
      國際奧運會視覺系統手冊欣賞
      Failed to load
      centos 7.9 gl
      海南最美海灣攝影
      __FILE__和$_SER
      CSS rem 和 em
      input 透明背景
      ?小暑綠新荷
      curl命令詳解
      光影
      娜扎生活自拍
      商業海報設計欣賞
      五指山方諾寨雨林共享農莊
      雨后
      原研哉設計10大金句
      ?樂藏與共
      夏天的顏色
      在??谟鲆姟熬┏恰?/a>
      感受大自然帶來的自愈
      雨霧中尋找山城十七門
      2024年巴黎奧運會??品牌
      量子糾纏的本質是什么
      松花江畔
      How to answer
      天衣秀場
      The Benefits o
      How to create
      SEO Forum
       三亞便民
      ?? 賀師傅開鎖配汽車鑰匙店服
      ?? 海南省小客車保有量調控管
      ?? 三亞車輛年檢
      ?? 維修家庭普通電路,電話1
      ?? 對中醫推拿有多年工作經驗
      ?? 海南遷禧搬家貨運
      ?? 中國南方電網天涯供電所桶
      ?? 三亞中法供水有限公司
      ?? 電腦桌,保密柜,辦公家具
      ?? 泉源康體養生
       三亞新聞
      ?? 2023極光三亞露營節
      ?? 來,帶你去看不一樣的崖州
      ?? 三亞擬增設一條新公交線路
      ?? 三亞市新建商品房購房問答
      ?? 海南省住房和城鄉建設廳:
      ?? 崖州灣科技城一年一度“嗨
      ?? 海南省漁業監察總隊原政委
      ?? 全球最大潛水培訓機構PA
      ?? 習近平總書記重要講話思維
      ?? 黨的二十大報告全文
       三亞美食
      ?? 湖南老湘味(黃流店)20
      ?? 麻辣甲魚,香辣小龍蝦
      ?? 朋友相聚商務接待,江伴月
      ?? 【春余燒烤涮】主打綠色自
      ?? 大糖糖小吃明天正式推出正
      ??  祖傳秘制私房
      ?? 海掌柜海鮮
      ?? 漢密欣語(商品街店)
      ?? 小湖南家常菜館
      ?? 【牛太郎】 大型無煙
       三亞旅游
      ?? 三亞千古情景區
      ?? 三亞宋城旅游區5月推雙重
      ?? “永樂號”5月20日開啟
      ?? 海南最美的八個灣
      ?? 關于三亞
      ?? 紅藝人歌舞表演
      ?? 大小洞天
      ?? 美麗之冠
      ?? 三亞灣
      ?? 南田溫泉
       三亞酒店
      ?? 2023年三亞知名酒店推
      ?? 三亞浪漫海景公寓蘭?;▓@
      ?? 三亞灣HelloKitt
      ?? 三亞鳳凰島空中花園酒店
      ?? 三亞明申高爾夫度假酒店
      ?? 【臨春河路】三亞沐藍灣酒
      ?? 【三亞灣路】三亞海貝貝沙
      ?? 【河西路】東升快捷商務酒
      ?? 【團結路】一路向南旅行客
      ?? 【三亞灣路】椰林灘大酒店
      信息發布
      瓊粹美好
      遷禧搬家
      天涯家居
      林控軟件
      三亞資訊公眾號
      關于我們      版權聲明      服務條款      聯系我們      站點地圖      sitemaps    瓊ICP備05002060號       ©Copyright 2003 - 2024  www.168mro.com  三亞資訊
      Powered by 霄榮廣告 傳遞美好
      久欠精品国国产99国产精_国产亚洲美女久久久_av无码a在线看_AV中文字幕大全免费