JS文件对象 ActiveXObject

1.用JS创建文件
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);


2.用JS创建并写入数据
function CreateFile()
{
   var fso, tf;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   tf = fso.CreateTextFile("c:\\testfile.txt", true);
   // 写一行,并且带有新行字符。
   tf.WriteLine("Testing 1, 2, 3.") ;
   // 向文件写三个新行字符。  
   tf.WriteBlankLines(3) ;
   // 写一行。
   tf.Write ("This is a test.");
   tf.Close();
}
3.用JS读取数据
function ReadFiles()
{
   var fso, f1, ts, s;
   var ForReading = 1;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\testfile.txt", true);
   // 写一行。
   // Response.Write("Writing file <br>");
   f1.WriteLine("Hello World");
   f1.WriteBlankLines(1);
   f1.Close();
   // 读取文件的内容。
   // Response.Write("Reading file <br>");
   ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
   s = ts.ReadLine();
   // Response.Write("File contents = '" + s + "'");
   alert(s);
   ts.Close();
}
 

4.移动、复制和删除文件
    任务方法
移动文件File.Move 或 FileSystemObject.MoveFile
复制文件File.Copy 或 FileSystemObject.CopyFile
删除文件File.Delete 或 FileSystemObject.DeleteFile

function ManipFiles(){
   var fso, f1, f2, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\testfile.txt", true);
   Response.Write("Writing file <br>");   // 写一行。
   f1.Write("This is a test.");   // 关闭文件。
   f1.Close();
   Response.Write("Moving file to c:\\tmp <br>");
   // 获取 C 的根目录(C:\)中的文件的句柄。
   f2 = fso.GetFile("c:\\testfile.txt");   // 把文件移动到 \tmp 目录。
   f2.Move ("c:\\tmp\\testfile.txt");
   Response.Write("Copying file to c:\\temp <br>");   // 把文件复制到 \temp 目录。
   f2.Copy ("c:\\temp\\testfile.txt");
Response.Write("Deleting files <br>");   // 获得文件当前位置的句柄。
   f2 = fso.GetFile("c:\\tmp\\testfile.txt");
   f3 = fso.GetFile("c:\\temp\\testfile.txt");   // 删除文件。
   f2.Delete();   f3.Delete();
Response.Write("All done!");
}
 

    ----------js文件操作封装类
view plaincopy to clipboardprint?
function getlocal(){   
    //得到本地路径   
    temp = window.location+".txt";   
    temp = temp.substr(8);   
    temp=temp.split("/")   
    temp.pop()   
    str=temp.join("/")+"/" 
    return str   
}   


function writefile(name, str, always){   
    //写文件[name:文件名,str:字符,always:是否覆盖]   
    //用法:writefile("文件名", "新文件", true)   
    var fso, f;   
    if (always) {   
        fso = new ActiveXObject("Scripting.FileSystemObject");   
        f = fso.OpenTextFile(getlocal()+name, 2, true);   
        f.Write(str);   
        f.Close();   
        return true;   
    } else {   
        if (!isfile(name)){   
            fso = new ActiveXObject("Scripting.FileSystemObject");   
            f = fso.OpenTextFile(getlocal()+name, 2, true);   
            f.Write(str);   
            f.Close();   
            return true;   
        } else {   
            return false;   
        }   
    }   
}   


function readfile(name) {   
    //读取一个文件,如果存在返回字符,如不存在返回flash   
    if (isfile(name)) {   
        var fso, f;   
        fso = new ActiveXObject("Scripting.FileSystemObject");   
        f = fso.OpenTextFile(getlocal()+name, 1);   
        str = f.ReadAll();   
        f.Close();   
        return (str);   
    } else {   
        return false;   
    }   
}   


function createfolder(name){   
    //创建一个文件夹   
    if (!isfolder(name)) {   
        var fso, f;   
        fso = new ActiveXObject("Scripting.FileSystemObject");   
        fso.CreateFolder(getlocal()+name);   
        return true;   
    } else {   
        return false;   
    }   
}   


function deletefolder(name) {   
    //删除一个文件夹   
    if (isfolder(name)) {   
        var fso, f;   
        fso = new ActiveXObject("Scripting.FileSystemObject");   
        fso.DeleteFolder(getlocal()+name);   
        return true 
    } else {   
        return false;   
    }   
}   


function isfile(name){   
    //文件是否存在   
    var fso, exis;   
    fso = new ActiveXObject("Scripting.FileSystemObject");   
    exis=fso.FileExists(getlocal()+name);    
    return exis   
}   


function isfolder(name){   
    //文件夹是否存在   
    var fso, exis;   
    fso = new ActiveXObject("Scripting.FileSystemObject");   
    exis=fso.FolderExists(getlocal()+name);    
    return exis   
}   


function viewfolder(name) {   
    //查看一个文件夹并返回所有文件的名   
    if (isfolder(name)) {   
        var fso, f;   
        fso = new ActiveXObject("Scripting.FileSystemObject");   
        f = fso.GetFolder(getlocal()+name).files;   
        str = "";   
        for (var objEnum = new Enumerator(f); !objEnum.atEnd(); objEnum.moveNext())   
        {   
            temp = String(objEnum.item()).split("\").pop();   
            str += temp+"|";   
               
        }   
        return str   
    } else {   
        return false;   
    }   
}

 

 

你可能感兴趣的:(ActiveXObject,JS文件对象)