Javascript 如何从硬编码的路径和文件名中逐行读取Java脚本中的文件?
我想用Java脚本读取文件。 最好是逐行读取,但也有可能一次读取整个文件。 一般来说,在web上有很多实现,但我希望通过在Java脚本代码中输入硬编码的路径和文件名,而不是任何按钮或类似的内容,以非常简单的方式读取文件。下面是伪代码:Javascript 如何从硬编码的路径和文件名中逐行读取Java脚本中的文件?,javascript,html,file,readfile,eof,Javascript,Html,File,Readfile,Eof,我想用Java脚本读取文件。 最好是逐行读取,但也有可能一次读取整个文件。 一般来说,在web上有很多实现,但我希望通过在Java脚本代码中输入硬编码的路径和文件名,而不是任何按钮或类似的内容,以非常简单的方式读取文件。下面是伪代码: <!DOCTYPE html> <html> <body> <script type="text/javascript"> var file = FileReader("home/test.t
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var file = FileReader("home/test.txt");//hardcoded path and name of the file
var listOfLines = [];
var line = file.readLine();
while(line != eof) {
listOfLines.push(file.readLine());
file.readLine();
}
</script>
</body>
</html>
var file=FileReader(“home/test.txt”)//文件的硬编码路径和名称
var-listOfLines=[];
var line=file.readLine();
while(line!=eof){
listOfLines.push(file.readLine());
readLine()文件;
}
有这样的可能性吗。
谢谢。FileReader运行良好,支持良好,请参阅: 甚至IE也有部分支持 但它只能读取用户返回的文件。您无法从开发人员处读取任何具有硬编码路径的文件。当然,出于安全原因,浏览器中的javascript引擎在沙箱中运行 PS 此外,要从javascript读取大型csv文件,我建议使用我多次成功使用的库: 参考:
如果浏览器可以从文件系统读取任意文件,那么这将是一个相当大的安全漏洞。想想看,网络上的每一条横幅都可以读取操作系统的配置文件等等 同时检查此问题/答案:
稍微不同的问题,相同的问题 但是如果客户端给你的应用程序你应该处理的文件,那就不同了
//使用fetch()获取文件内容
函数fetchFile(文件){
常量{name,lastModified,size,type}=file;
返回获取(URL.createObjectURL(文件))
.then(response=>response.text())
.then(text=>({name,lastModified,size,type,text}));
}
//使用文件阅读器获取内容
函数readFile(文件){
常量{name,lastModified,size,type}=file;
返回新承诺((解决、拒绝)=>{
const reader=new FileReader();
reader.onload=()=>resolve(reader.result);
reader.onerror=拒绝;
reader.readAsText(文件);
})
.then(text=>({name,lastModified,size,type,text}));
}
让输入=document.querySelector('input');
input.onchange=函数(){
const promises=[…input.files].map(fetchFile);//fetch
//const promises=[…input.files].map(readFile);//FileReader
所有(承诺)
。然后(文件=>{
console.log(文件);
})
}
网页中运行的JavaScript无法访问本地计算机上的文件。如果您试图访问web服务器上的另一个文件,您可以通过Ajax请求——google“Ajax请求”。@Occam'sRazor@Thomas-是的,我在考虑文件系统。。谢谢