我无法按照“操作”生成文本文件以存储特定于操作的信息,无论采用何种方法,我都无法在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);
}
答案 0 :(得分:1)
不确定你为什么要这样做;已有强大的日志记录解决方案和数据库。
在第一种情况下,如果你没有获得异常,它几乎肯定会创建一个文件,你只是不知道它在哪里。使用.getRealPath
使用已知可访问位置的绝对路径或与应用程序本身相关的内容。
(注意如果你正在部署战争,尝试写入app相对路径将无效。)
在第二种情况下,不确定为什么你认为这样可行。