如何读取javascript中的txt文件
我正在寻找一些使用JavaScript读取txt文件的简单代码。第一个选择是逐个记录,但如果它位于一个数组中,也很好,这将是一个安全问题,并且非常怀疑JavaScript是否能够访问用户的硬盘 JavaScript标准库不包含任何常规I/O操作,因此读取文件必须委托给环境提供的其他库 例如,如果您的目标是一个web平台,那么可以从web服务器上获取文本文件,并通过XMLHttpRequest获取它。解析文件完全取决于您使用字符串切片和正则表达式之类的方法如何读取javascript中的txt文件,javascript,file,Javascript,File,我正在寻找一些使用JavaScript读取txt文件的简单代码。第一个选择是逐个记录,但如果它位于一个数组中,也很好,这将是一个安全问题,并且非常怀疑JavaScript是否能够访问用户的硬盘 JavaScript标准库不包含任何常规I/O操作,因此读取文件必须委托给环境提供的其他库 例如,如果您的目标是一个web平台,那么可以从web服务器上获取文本文件,并通过XMLHttpRequest获取它。解析文件完全取决于您使用字符串切片和正则表达式之类的方法 如果您使用node.js或Rhino瞄准
如果您使用node.js或Rhino瞄准“服务器”平台,那么您可以使用这些环境提供的I/O功能,例如和
readFile(filename)
(或)。其他JavaScript/ECMAScript平台可能会提供它们自己的实用程序来访问文件系统。如果你是说在本地计算机上,如果你说的是web脚本,这是不可能的,我假设你是(如果您正在谈论使用WSH或其他东西,那么您将创建一个FileSystemObject,但这可能不是您想要的)。如果您的意思是从服务器读取文件,那么您将使用Ajax:
function readText(url) {
var rq = new XMLHttpRequest();
rq.open('GET', url, false);
rq.send(null);
if (rq.status >= 200 && rq.status < 400) {
return rq.responseText;
}
throw new Error("Couldn't read the requested file; status = " + rq.status.toString());
}
函数readText(url){
var rq=新的XMLHttpRequest();
rq.open('GET',url,false);
rq.send(空);
如果(rq.status>=200&&rq.status<400){
返回rq.responseText;
}
抛出新错误(“无法读取请求的文件;status=“+rq.status.toString());
}
并使用要读取的文件的URL调用
readText
。JavaScript确实提供了一个读取文件的接口。它是FileReader
API。您可以设置一个
,让用户从机器上选择一个文件,然后使用.readAsText()
。请参见JS没有文件i/o功能。除非有其他东西将文本嵌入JS或将其放入html文档(或类似文档)JS可以从哪个平台获取文本,你是S.O.L。这个javascript文件存在于哪里?你尝试了什么?什么不起作用?你遇到了什么困难?@Fred-这是在什么平台上运行的?一个浏览器,Node.JS,Rhino,WScript,JScript…其他什么?@Fred:这个txt文件来自哪里?它可以在HTA中完成,但这让你感到困惑你的代码是一个windows应用程序。否则这是一个安全问题。你忘记添加if(window.XMLHttpRequest){rq=new XMLHttpRequest();}或者if(window.ActiveXObject){…顺便说一句,伟大的函数正在寻找类似的东西