读取一个动态填充的txt文件

read a txt file that is dynamically fill

本文关键字:填充 txt 文件 动态 一个 读取      更新时间:2023-09-26

我用java代码读取了一个文件txt,然后在html页面中用js显示它的内容,但内容会随着时间的推移而变化,因此如果内容发生变化,我无法访问该文件:java代码:读取文件并返回包含txt文件内容的字符串的方法

 public static String getLog() throws IOException{
       StringBuilder sb = new StringBuilder();
       String path=logging.getRealPath();
       InputStream ips;
        try {
            ips = new FileInputStream(path);
            InputStreamReader ipsr=new InputStreamReader(ips);
            BufferedReader br=new BufferedReader(ipsr);
            String ligne;
        while((ligne=br.readLine())!=null){
                sb.append("<br>"+ligne);
                br.close();
            }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return sb.toString();
}

以及js函数

<script type="text/javascript">
   function getALLLog(){
    var arrayNew = "<%=logging.getLog()%>";
    document.getElementById("log").innerHTML=arrayNew;
    }
</script>

html代码类似于:

<div style="padding:15px" >
<span id="ALL" style="cursor: pointer;font-weight:bold;" onclick="getALLLog()">ALL</span>
</div>
<div id="log"></div>

因此内容在填充文件后第一次显示,没有任何内容出现

当服务器生成html时,您的java getLog()函数只得到一次求值。之后,javascript变量arrayNew保存日志内容。当您单击ALL跨度时,实际上并没有调用java服务器-仅客户端javascript,所以您只是一遍又一遍地显示相同的内容。

若您想在点击网页上的某个按钮时调用服务器,您需要使用AJAX或只刷新整个页面。