丄諦啲仇魜ヤ
如 果 敌 人 让 你 生 气 , 那 说 明 你 没 有 胜 他 的 把 握!
posts - 6,comments - 56,trackbacks - 1
读取文件
两种方式:一种利用ServletContext 来读取上下文中的资源;另一种使用java.io.FileReader
来读取任何位置上的文件。
ServletContext 读取文件
<%@ page contentType="text/html; charset=gb2312" import="java.io.*"%>
<%
try
{
//使用ServletContext 装入文件资源
//这里的path参数必须在上下文环境中,所以必须以“/“开始
//使用InputStream,没有使用缓冲输入流,效率低
InputStream in=getServletContext().getResourceAsStream("/file.txt");
String file="";
int temp=0;
while((temp=in.read())!=-1)
{
file+=(char)temp;
}
//关闭输入流。
in.close();
//使用InputStream对象,在读取文件内容后因该进行重编码,否则会产生乱码
out.println(new String(file.getBytes("iso-8859-1")));
out.flush();
}
catch(Exception e)
{
out.println(e);
e.printStackTrace();
}
%>
改进后:
<%@ page contentType="text/html; charset=gb2312" import="java.io.*" buffer="64kb"%>
<%
try
{
InputStream in=getServletContext().getResourceAsStream("/file.txt");
String file="";
String temp="";
//效率提升,而且不用担心乱码问题
BufferedReader buffer=new BufferedReader(new InputStreamReader(new BufferedInputStream(in)));
while((temp=buffer.readLine())!=null)
{
file+=temp;
}
buffer.close();
in.close();
out.println(file);
out.flush();
}
catch(Exception e)
{
out.println(e);
e.printStackTrace();
}
%>
使用FileReader读取文件:
<%@ page contentType="text/html; charset=gb2312" import="java.io.*" buffer="64kb"%>
<%
try
{
BufferedReader in=new BufferedReader(new FileReader("c:\\UserSession.java"));
String file="";
String temp="";
while((temp=in.readLine())!=null)
{
file+=temp;
}
in.close();
out.println(file);
out.flush();
}
catch(Exception e)
{
out.println(e);
e.printStackTrace();
}
%>


写入内容到文件
使用FileWriter 对象写入文件
<%@ page contentType="text/html; charset=gb2312" import="java.io.*"%>
<html>
<body>
<%
request.setCharacterEncoding("gb2312");
String content=request.getParameter("content");
%>
<%
try
{
PrintWriter writer= new PrintWriter(new BufferedWriter(new
FileWriter("c:\\foo.out",true)));
writer.write(content);
writer.close();
out.println("已经把内容写入到c:\\foo.out");
}
catch(Exception e)
{
out.println(e);
e.printStackTrace();
}
%>
<form action="writeFile.jsp" method=post>
<textarea name=content cols=20 rows=5></textarea><br>
<input type=submit value=提交>
</form>
</body>
</html>
posted on 2008-03-10 17:28 Crying 阅读(207) 评论(0)  编辑  收藏 所属分类: Jsp+Struts

只有注册用户登录后才能发表评论。


网站导航: