下面就讨论一下JSP中读文件和写文件的例子,其实从上面实现中你可以看到,很简单的就是将生成的静态文件删除即可,至于什么时候删除,要看你的需求了。
读文件的例子
***************************************************
<%@ page contentType="text/html;charset=gb2312"%>
<%
//变量声明\
java.lang.String strFileName; //文件名\r
java.io.File objFile; //文件对象\r
java.io.FileReader objFileReader; //读文件对象\r
char[] chrBuffer = new char[10]; //缓冲\r
int intLength; //实际读出的字符数(一个中文为一个字符)
//设置待读文件名\r
strFileName = "d:\\test.txt";
//创建文件对象\r
objFile = new java.io.File(strFileName);
//判断文件是否存在
if(objFile.exists()){//文件存在
//创建读文件对象\r
objFileReader = new java.io.FileReader(objFile);
//读文件内容
while((intLength=objFileReader.read(chrBuffer))!=-1){
//输出\r
out.write(chrBuffer,0,intLength);
}
//关闭读文件对象\r
objFileReader.close();
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
**************************************************
写文件的例子
**************************************************
使用PrintWriter对象即可写Text文件。
请参考以下示例:
<%@ page import="java.io.*" %>
<%
String str = "print me";
//always give the path from root. This way it almost always works.
String nameOfTextFile = "/usr/anil/imp.txt";
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(str);
//clean up
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>
现在,打开imp.txt加以查看,字符串"print me"应该已经写入。
还有另一种方法,使用IN16标记库的file tag,可参考http://sourceforge.net/project /?group_id=1282.
其示例的语法为:
<ext:file action="write|append|create|copy|move|delete|
rename|read" from="<%= myfilename %>">