JScript版文件和文件夹操作类

[ 2007-08-06 16:35:50 | 作者: {$author:name$} ]  编辑  删除
字体大小: | |
VB版本可以参考我以前写的 fisker的asp常用函数

文件操作

<script language="JScript" runat="server">
//====== file operation CLASS ================================
// file operation for LBS plus
//
// Copyright 2007 fisker. All Rights Reserved.
// Last update: 2007-8-6
//============================================================

function lpFile(){
  this.read = function(fileName)
  {
    if(!this.exists(fileName)){return ;}
    try{
      var objStream = Server.CreateObject("adodb.stream") ;
      objStream.Type = 2 ; //文本模式读取
      objStream.mode = 3 ;
      objStream.charset = "utf-8" ;
      objStream.open() ;
      objStream.loadfromfile(Server.MapPath(fileName)) ;
      var str = objStream.readtext();
      objStream.close() ;
      delete objStream;
      return str ;
    }catch(e){
      return "" ;
    }
  };

  this.save = function(str,fileName)
  {
    folderName = fileName.replace(/\\/g, "/") ; 
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      var tArr = folderName.split("/") ;
      var tStr = "";
      for (var j=0;j<tArr.length-1;j++)
      {
        tStr += tArr[j] + "/" ;
        try{
          objFso.CreateFolder(Server.Mappath(tStr)) ;
        }catch(e){}
      }
      delete objFso ; 
    }catch(e){}
    try{
      var objStream = Server.CreateObject("adodb.stream") ;
      objStream.Type = 2 ; //文本模式读取
      objStream.mode = 3 ;
      objStream.charset = "utf-8" ;
      objStream.open() ;
      objStream.WriteText(str) ;
      objStream.SaveToFile(Server.MapPath(fileName),2) ; 
      objStream.flush() ;
      objStream.close() ;
      delete objStream;
      return true ;
    }catch(e){
      return false ;
    }
  };

  this.exists = function(fileName)
  {
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      if(objFso.FileExists(Server.MapPath(fileName))){
        return true ;
      }else{
        return false ;
      };
      delete objFso ;
    }catch(e){
      return false ;
    }
  };

  this.del = function(fileName)
  {
    if(!this.exists(fileName)){return true;}
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      objFso.deleteFile(Server.MapPath(fileName),true) ;
      delete objFso ;
      return true ;
    }catch(e){
      return false ;
    }
  };

}

var file=new lpFile();
/*
支持
file.read(fileName)
读取文本文件

file.save(str,fileName)
保存文本文件

file.exists(fileName)
判断文件是否存在

file.del(fileName)
删除文件
*/
</script>


文件夹操作
<script language="JScript" runat="server">

//====== folder operation CLASS ==============================
// folder operation for LBS plus
//
// Copyright 2007 fisker. All Rights Reserved.
// Last update: 2007-8-6
//============================================================

function lpFolder(){
  this.exists = function(folderName)
  {
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      if(objFso.FolderExists(Server.MapPath(folderName))){
        return true ;
      }else{
        return false ;
      };
      delete objFso ;
    }catch(e){
      return false ;
    }    
  };

  this.create = function(folderName) 
  {
    if(this.exists(folderName)){return true ;}
    if(folderName.substring((folderName.length-1), folderName.length)!="/"){folderName += "/" ;}; 
    folderName = folderName.replace(/\\/g, "/") ; 
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      var tArr = folderName.split("/") ;
      var tStr = "";
      for (var j=0;j<tArr.length;i++)
      {
        tStr += tArr[j] + "/" ;
        try{
          objFso.CreateFolder(Server.Mappath(tStr)) ;
        }catch(e){}
      }
      delete objFso ; 
    }catch(e){}
    return this.exists(folderName) ;
  };

  this.del = function(folderName)
  {
    if(!this.exists(folderName)){return true ;}
    try{
      var objFso = Server.CreateObject("Scripting.FileSystemObject") ;
      objFso.deletefolder(Server.MapPath(folderName),true) ;
      delete objFso ;
    }catch(e){}
    return !this.exists(folderName) ;
  };

}

var folder=new lpFolder();
/*
支持
folder.exists(folderName)
判断文件夹是否存在


folder.create(fileName)
创建目录,支持多级目录

folder.del(folderName)
删除目录
*/
</script>


其他一些“移动”,“复制”等操作暂时好像没有用到,就没有加进去。

今天遇到一个奇怪的问题,同样是被include的一个jscript文件,为什么定界符<%...%>和<script language="JScript" runat="server">...</script>一个能工作,一个却不能。。。。why...
评论Feed 评论Feed: http://ifisker.com/blog/feed.asp?q=comment&id=1061
UTF-8 Encoding 引用链接: loading...

这篇日志没有评论.

发表评论
表情图标
[smile][confused][cool][cry]
[eek][angry][wink][sweat]
[lol][stun][razz][redface]
[rolleyes][sad][yes][no]
[heart][star][music][idea]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   注册?
验证码* 请输入验证码