写入Web日志(文本文件)Java EE



我在为每个"操作"生成文本文件以存储特定于操作的信息时遇到了真正的困难,无论我采取什么方法,我都无法在web服务器上创建文本文件,更不用说在其中存储信息了,第一个例子是我想要的(创建并存储每个操作)

注意-我目前正尝试在servlet中执行此操作,以进行测试。非常感谢您的帮助。

 try {
               FileWriter fstream = new FileWriter("out.txt");
                BufferedWriter out = new BufferedWriter(fstream);
                out.write("test");
                out.close();
            } catch (Exception ex) {
                 System.out.println(ex);
            }

不同方法

 try {
            URL                url; 
            URLConnection      urlConn; 
            DataOutputStream   dos;
            DataInputStream dis;
            url = new URL("http://localhost:8080/" + request.getContextPath() + "/tmp/myfile.txt");
            System.out.println(url);
            urlConn = url.openConnection(); 
            urlConn.setDoInput(true); 
            urlConn.setDoOutput(true); 
            urlConn.setUseCaches(false); 
            urlConn.setRequestProperty ("Content-Type", "text/plain");
            dos = new DataOutputStream (urlConn.getOutputStream()); 
            dos.writeUTF("test");
            dos.flush(); 
            dos.close();
            //to test
            dis = new DataInputStream(urlConn.getInputStream()); 
            String s = dis.readLine(); 
            System.out.println(s);
            dis.close(); 
     } catch(Exception ex) {
         System.out.println(ex);
     }

不确定为什么要这样做;已经有了强大的日志记录解决方案和数据库。

在第一种情况下,如果你没有得到异常,你只是不知道它在哪里,那么几乎可以肯定的是,它正在创建一个文件。使用指向已知可访问位置的绝对路径,或者使用.getRealPath相对于应用程序本身的路径。

(注意,如果你正在部署一场战争,尝试写入应用程序的相对路径是行不通的。)

在第二种情况下,不确定你为什么认为这会奏效。

最新更新