如何从JavaScript中的文本文件加载数组?

时间:2013-12-09 05:12:44

标签: javascript jquery dom

我是一名使用Javascripts的初学者,简单的描述性解决方案非常有用。这完全在一台机器上,没有服务器可用,我只需要使用HTML等做基本的东西。

我有一个任务,我需要在浏览器上提供一个选项,使用Mozilla Firefox上传文本文件(包含用逗号分隔的数字),将上传的文件读入数组,对该数组执行一些计算,然后将该数组存储在另一个文本文件中,并在Web浏览器上提供一个选项以下载输出文件。

这是我到目前为止所做的。

        **********************************

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<script src="javaScripts/script.js" type="text/javascript"></script>    
   <script src="script.js"></script>

<head runat="server">
    <title></title>
</head>
<body>

    <input type="file" name="input" size="40"/>
    <br />
    <input id="Button" type="button" value="Average" onclick="CPU_Average()"/>
    <br />
    <span id="output1"></span>

</body>
</html>

<script id="average" type="text/javascript">
function CPU_Average() {
    var output1 = document.getElementById("output1");
    output1.innerHTML = "";
    var row = 5;
    var col = 5;
    var size = row*col;
    try{
    var windowSize = 3;
    var i=0,j=0,k=0,p=0,q=0,count=0,limit=1;
    var check=0;
    var sum=0.0;

    var vec1 = new Uint32Array(size);
    var vec_op = new Float32Array(size);

    for (i=0; i<size;  i=i+1) {
        vec1[i] = Math.floor(Math.random() * 100); //Random number 0..99
    }
     output1.innerHTML += "<br>Vector length = " + size;
    output1.innerHTML += "<br>Vector1 = ";
    for (i = 0; i < size; i = i + 1) {
        output1.innerHTML += vec1[i] + ", ";
    }

    for(k=0;k<size;k=k+1)
    {
        sum=0.0;
        i=Math.floor(k/row);
        j=k%row;
        count=0;

        for(p=i-limit;p<=i+limit;p=p+1)
        {
            for(q=j-limit;q<=j+limit;q=q+1)
            {
                if(p>=0 && q>=0)
                {
                    check = ((p*row)+q);
                    if(check<size && ((q*col)+p)<size)
                    {
                        sum = sum+vec1[check];
                        count=count+1;
                    }
                }
            }
        }

        vec_op[k] = (sum/count);
    }

        output1.innerHTML += "<br>Result = ";
    for (i = 0; i < size; i = i + 1) {
        output1.innerHTML += vec_op[i].toFixed(2) + ", ";
    }
    }
    catch(e) {
        document.getElementById("output1").innerHTML
        += "<h3>ERROR:</h3><pre style=\"color:red;\">" + e.message + "</pre>";
        throw e;
    }
}
</script>
***********************

目前我正在生成随机数并将它们存储在输入数组(vec1)中,但我需要从输入文件中加载该数组。此外,我的输出数组(vec_o​​p)打印到文本框中,但我需要在文本文件中写入该数组,每个元素用逗号分隔,并允许用户下载它。

如果我需要使用JQuery或Ajax,请解释如何在上面的代码中添加它们。

感谢。

0 个答案:

没有答案