对此有很多解决方案,但我在html网页上的javascript中发现很少或没有。我有一个名为sample.txt的数据文件,位于我的html文件所在的位置。我的目标是将txt文件加载到可用于创建表并显示在html文件上的数组中。我的sample.text文件具有以下数据:
sin 0.2 time 0.22222
cos 0.3 time 0.43434
tan 0.1 time 0.22221
我是Java语言的新手,我承认它比其他编程语言难得多。我熟悉node.js模式下的javascript,但不熟悉html模式。我设法创建了html网页(如下所示),并以脚本模式显示了诸如文本和数字之类的基础知识。在脚本模式下按一下按钮后,我还设法加载了txt文件并显示了它。此txt加载方法是唯一对我有用的方法。require(js)方法不起作用也不导入。如何从该工作模式创建数据数组?
以下是我完整的代码(已更正),
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title>Read Text File</title>
</head>
<body>
<input type="file" name="inputfile"
id="inputfile">
<br>
<pre id="output"></pre>
<script>
var file = document.getElementById('inputfile');
file.addEventListener('change', () => {
var txtArr = [];
var fr = new FileReader();
fr.onload = function() {
// By lines
var lines = this.result.split('\n');
for (var line = 0; line < lines.length; line++) {
txtArr = [...txtArr, ...(lines[line].split(" "))];
}
}
fr.onloadend = function() {
console.log(txtArr);
document.getElementById('output').textContent=txtArr.join("");
document.getElementById("output").innerHTML = txtArr[1];
console.log(txtArr[1]);
}
fr.readAsText(file.files[0]);
})
</script>
</body>
</html>
使用FileReader
,逐行获取字符串,然后将其拆分并合并到resultArr中,如下所示:
var file = document.getElementById('inputfile');
file.addEventListener('change', () => {
var txtArr = [];
var fr = new FileReader();
fr.onload = function() {
// By lines
var lines = this.result.split('\n');
for (var line = 0; line < lines.length; line++) {
txtArr = [...txtArr, ...(lines[line].split(" "))];
}
}
fr.onloadend = function() {
console.log(txtArr);
document.getElementById('output').textContent=txtArr.join("");
}
fr.readAsText(file.files[0]);
})
<!DOCTYPE html>
<html>
<head>
<title>Read Text File</title>
</head>
<body>
<input type="file" name="inputfile"
id="inputfile">
<br>
<pre id="output"></pre>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句