我要将具有.txt的4个值保存到数组中,如下所示:
array = [12.3,32.2,5.6,7.0];
我在互联网上看到了多个例子。他们中的大多数人都有一个按钮来选择要读取的文件,但是我的文件始终是相同的"/path/to_file/file.txt"
,所以我不想选择其他任何文件。
我发现一个或多或少起作用的代码,但是我不知道如何将文件的值保存到数组中。我的代码是这样的:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>Read File (via AJAX)</title>
<script type="text/javascript">
var reader = new XMLHttpRequest() || new ActiveXObject('MSXML2.XMLHTTP');
function loadFile() {
reader.open('get', 'Contact.txt', true);
reader.onreadystatechange = displayContents;
reader.send(null);
}
function displayContents() {
if(reader.readyState==4) {
var el = document.getElementById('main');
el.innerHTML = reader.responseText;
}
}
</script>
</head>
<body>
<div id="container">
<input type="button" value="test.txt" onclick="loadFile()" />
<div id="main">
</div>
</div>
</body>
</html>
.txt文件的格式为:
12.3
32.2
5.6
7.0
如果有人可以提出任何将这些值保存到数组中的建议,我将不胜感激。因为我是HTML和Javascript的初学者,所以可以提供任何帮助。非常感谢。
答案 0 :(得分:1)
您必须像这样重写null
函数:
boolean isEqualIgnoreCase = false;
if (myClass != null){
isEqualIgnoreCase = ("en").equalsIgnoreCase(myClass.getLocale());
}
仅用于演示其工作原理:
我们在displayContents()
中具有与您的文本文件相同的值。因此,我仅将function displayContents()
{
if(reader.readyState == 4)
{
var array = reader.responseText.split(/\s+/);
// we convert all strings into numbers:
array = array.map(function(v){return +v});
console.log(array); // [12.3, 32.2, 5.6, 7]
document.getElementById('main').innerHTML = array;
}
}
用于演示。
textarea
textarea
最后一个数字var array = document.getElementById('tarea').value.split(/\s+/);
// we convert strings into numbers:
array = array.map(function(v){return +v});
console.log(array); // [12.3, 32.2, 5.6, 7]
用于计算机,例如数字<textarea id="tarea" rows="5" cols="25">12.3
32.2
5.6
7.0</textarea>
。如果您希望像7.0
这样使用它,则不必将其转换为数字。
答案 1 :(得分:1)
给定文件内容的答案
var text_from_file = "12.3\n\
\n\
32.2\n\
\n\
5.6\n\
\n\
7.0";
var out = text_from_file.split(/\s+/); // split by whitespace (newline included)
console.log(out);
原始答案
您只能读取文件,该文件可通过浏览器访问。
reader.open('get', <URI>, true);
对于<URI>
,您不能放置/src/files/myfile.txt
之类的文件路径,它必须是http://127.0.0.1/myFile.txt
之类的浏览器可访问的文件
要以数组形式读取文件内容,可以使用JSON。
var array = ["Hello","World"];
var array_as_text = JSON.stringify(array); // Returns a string which you store in your file
var array_from_text = JSON.parse(array_as_text);
如果文件中具有特定格式(您将为此提供一个示例)。您将需要分析文件内容。
因此,如果您需要进一步的帮助,请提供.txt