1
嘿,伙计我试图让我的代码,一旦运行;它会插入到WebContent目录中已经创建的.txt文档中。我在Apache Tomcat v7.0中运行 - 在Eclispe中构建。在tomcat servlet中有java的问题编辑一个.txt文件
CODE:
public static void insertWinner(String winner) throws IOException{
String filename= "Winner.txt";
FileWriter fw = new FileWriter(filename,true); //the true will append the new data
fw.write("Winner is" + winner);//appends the string to the file
fw.close();
}
这是被称为BandIO一个java文件BandListServ.java呼吁servlet来插入一个字符串值到上面的代码中完成的。
当我这样做时,什么都没有发生,不知道为什么。
让我知道如果您需要其他信息,再次感谢!
编辑
我改成这样 -
public static void insertWinner(String winner) throws IOException{
FileWriter out = new FileWriter("Winner.txt");
out.write("Hello");
out.close();
out = new FileWriter("Winner.txt", true);
out.write(", world!");
out.close();
}
编辑:
好了,所以我想这个servlet的文件,但没有雪茄里面..
response.setContentType("text/html");
String filename = "Winner.txt";
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream(filename);
if (is != null) {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
PrintWriter writer = response.getWriter();
String text = "Winner is";
while ((text = reader.readLine()) != null) {
writer.println(text);
}
}
嗯,我只是试图通过不是servlet本身的.java文件访问该文件,所以getServletContext()不起作用... –
但是不能使用相对路径,并且Web内容目录是已知的只能通过ServletContext。例如,您可以在属性文件中配置硬完整路径。 –
您需要将'ServletContext'的对象引用传递给该方法。看看SO线程 - http://stackoverflow.com/questions/2728877/how-do-i-get-servletcontext-object-in-a-simple-class-file – adatapost