jsp读取文件

来源:百度知道 编辑:UC知道 时间:2024/06/18 22:46:31
<%
try { //打开文件输入流
InputStream input = getServletContext().getResourceAsStream(
"D:/aa.txt");

//将文件中数据读取到缓冲区
BufferedReader bf = new BufferedReader(new InputStreamReader(
new BufferedInputStream(input)));

//按行读取数据
String sf = "";
String str = "";
while ((str = bf.readLine()) != null) {
sf += str;
}
out.println(sf);
bf.close(); //关闭缓冲区
input.close();//关闭输入流
}

catch (Exception ex) {
out.println(ex);
}
%>
结果页面显示java.io.IOException: Stream closed
一楼 二楼的都试过 没用啊

bf.close(); //关闭缓冲区
把这名删掉试试

怀疑是因为bf.close的时候,已经把input也关掉了

jsp是自带一个缓冲区的,out.println(sf);之后不会马上写出去,把:
bf.close(); //关闭缓冲区
input.close();//关闭输入流
去掉就可以。可以试试这样,不知道行不行:
out.println(sf);
out.flush();//试试加这句,不知道行不行
bf.close(); //关闭缓冲区
input.close();//关闭输入流