File Javascript,写入txt文件,另存为UNICODE
我有两条线。希望首先生成一个.txt文件,然后将字符串保存为unicodeFile Javascript,写入txt文件,另存为UNICODE,file,unicode,activex,wsh,File,Unicode,Activex,Wsh,我有两条线。希望首先生成一个.txt文件,然后将字符串保存为unicode function WriteFile(file, str, str2) { var tmp=real_url.replace(/%20/g, " "); var WshNetwork=new ActiveXObject("WScript.Network"); var userid=WshNetwork.UserName; var fso = new ActiveXObject("Scr
function WriteFile(file, str, str2)
{
var tmp=real_url.replace(/%20/g, " ");
var WshNetwork=new ActiveXObject("WScript.Network");
var userid=WshNetwork.UserName;
var fso = new ActiveXObject("Scripting.FileSystemObject");
if(! fso.FolderExists(tmp+"users/"+userid))
{
var cf = fso.CreateFolder(tmp+"users/"+userid);
}
else
{
//alert("THIS FOLDER ALREADY EXISTS");
}
delete fso;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.OpenTextFile(tmp+"users/"+userid+"/"+file, 2, true);
fh.WriteLine(str);
fh.WriteLine(str2);
fh.Close();
delete fso;
return;
}
I和方法都有一个指定编码的参数(ASCII或Unicode(UTF16LE))
您不能从外部站点读取/写入客户端JavaScript中的文件。这违反了安全策略。它不是基于浏览器的Javascript,而是Windows脚本主机代码,可以使用API访问本地文件系统。顺便说一句,这并不是真正的重复,但这个问题的答案可能会解决您的问题:找到解决方案!它在writeLine的属性中。您必须声明-1。Karl,您应该重新发布您的解决方案,并将其标记为已回答。如果正确,WriteLine方法接受三态值形式的可选第三个参数,该值指示文件应以Unicode、Ansi还是系统默认方式打开。此外,无需在代码中重新创建FileSystemObject。可以重用变量。否则,只会给脚本增加不必要的开销。
var fso = new ActiveXObject("Scripting.FileSystemObject");
var filename = "c:\\testfile.txt";
var f = fso.OpenTextFile(filename, 2, true, -1); // -1 means unicode
f.WriteLine("Hello world!");
f.Close();