• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何从servlet过滤器写入文件并在Eclipse中读取它?

java 来源:peter 3次浏览

我想从我的过滤器写入一个文件,然后能够在Eclipse中读取它,以确保我已正确写入它。如何从servlet过滤器写入文件并在Eclipse中读取它?

此代码编译并运行良好,但我不知道我可以去哪里阅读文件,或者如果我什至写过任何东西。

<code class="prettyprint-override">public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
    HttpServletRequest req = (HttpServletRequest) request; 

    System.out.println("filter invoked"); 

    InputStream in = null; 
    OutputStream out = null; 
    String inPath = context.getRealPath("/WEB-INF/template.txt"); 
    String outPath = context.getRealPath("/WEB-INF/output.txt"); 
    in = new FileInputStream(inPath); 
    out = new FileOutputStream(outPath); 

    OutputStreamWriter outstream = new OutputStreamWriter(out); 
    outstream.write("hello"); 


    // pass the request along the filter chain 
    chain.doFilter(request, response); 
} 
</code>

文件template.txt和output.txt位于WEB-INF目录中。我已经证实,从文件中读取正常工作,但我无法验证写入他们。每次我写入output.txt时,文件仍然没有改变。

我对Web应用程序环境中的文件写入了解不甚了解?

===========解决方案如下:

你必须关闭你的流(它也会刷新它)(在finally块中这样做)。顺便说一句,你可以使用commons-ioFileUtils或guavaFiles这将使更容易的文件的处理

然而,一般的做法是不是在webapp目录中写入文件,因为你会失去他们在接下来的重新部署。选择/配置一个外部位置来存储它们。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)