分页的第一个页面<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<form name="formsub" action="fenye.jsp" method="post">
<p align="left" >选择要打开的文件:
<input type="text" name="loadfile" value="D:\Program Files\000.txt" size="20" >
<input type="submit" name="sub" value=" 打开">
</p>
</form>
</body>
</html>分页的第二个页面fenye.jsp<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*"%>
<HTML>
<head>
<title>分页读取文件内容</title>
</head>
<BODY>
<p align="center">分页读取文件内容。文件内容为:<br>
</p><p>
<%
String pages=request.getParameter("page");if(pages==null)
{
pages="0";
}
int diPage=Integer.parseInt(pages);
%>
<%//从文件中读取数据
String str=request.getParameter("loadfile");
out.print(str);
int pageFileSize=20;//每页20行数据
int fileLineCount=0;//文件总行数
int fileCountPage=0;//文件页数
File f=new File(str);
//得到文件总行数
if(f.exists())
{
FileReader fileReader1=new FileReader(f);
BufferedReader buffer1=new BufferedReader(fileReader1);
String tempString=null;
while((tempString=buffer1.readLine())!=null)
{ fileLineCount++;
}
buffer1.close();
fileReader1.close();
}
//得到文件页数
if(fileLineCount%pageFileSize==0)
fileCountPage=fileLineCount/pageFileSize;
else
fileCountPage=fileLineCount/pageFileSize+1;
//读取当前页的文件内容
if(f.exists())
{
FileReader fileReader1=new FileReader(f);
BufferedReader buffer1=new BufferedReader(fileReader1);
String tempString=null;
for(int i=0;i<diPage*pageFileSize;i++)
buffer1.readLine();
for(int i=0;i<pageFileSize&&(tempString=buffer1.readLine())!=null;i++)
out.println(tempString+"<br>");
buffer1.close();
fileReader1.close();
}
else
{
out.println("文件中暂时没有内容。");
}
%>
</p>
<p align="center">
<a href="fenye0.jsp" >返回上一页 </a>
<%if(diPage>0)
{%>
<a href="fenye.jsp?page=<%=diPage-1%>">上一页</a>
<%}%>
<%if(diPage<fileCountPage)
{%>
<a href="fenye.jsp?page=<%=diPage+1%>">下一页</a>共<%=fileCountPage%>页,当前第<%=diPage+1%>页
</a>
<%}%>
</html>
将text赋初值后,txt文件的第一页能显示出来,如果不赋初值就发生异常
另外,赋初值后我点击 下一页时 发生如下面的错误:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /fenye.jsp at line 2724: int pageFileSize=20;//每页20行数据
25: int fileLineCount=0;//文件总行数
26: int fileCountPage=0;//文件页数
27: File f=new File(str);
28: //得到文件总行数
29: if(f.exists())
30: {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
java.io.File.<init>(Unknown Source)
org.apache.jsp.fenye_jsp._jspService(fenye_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<form name="formsub" action="fenye.jsp" method="post">
<p align="left" >选择要打开的文件:
<input type="text" name="loadfile" value="D:\Program Files\000.txt" size="20" >
<input type="submit" name="sub" value=" 打开">
</p>
</form>
</body>
</html>分页的第二个页面fenye.jsp<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*"%>
<HTML>
<head>
<title>分页读取文件内容</title>
</head>
<BODY>
<p align="center">分页读取文件内容。文件内容为:<br>
</p><p>
<%
String pages=request.getParameter("page");if(pages==null)
{
pages="0";
}
int diPage=Integer.parseInt(pages);
%>
<%//从文件中读取数据
String str=request.getParameter("loadfile");
out.print(str);
int pageFileSize=20;//每页20行数据
int fileLineCount=0;//文件总行数
int fileCountPage=0;//文件页数
File f=new File(str);
//得到文件总行数
if(f.exists())
{
FileReader fileReader1=new FileReader(f);
BufferedReader buffer1=new BufferedReader(fileReader1);
String tempString=null;
while((tempString=buffer1.readLine())!=null)
{ fileLineCount++;
}
buffer1.close();
fileReader1.close();
}
//得到文件页数
if(fileLineCount%pageFileSize==0)
fileCountPage=fileLineCount/pageFileSize;
else
fileCountPage=fileLineCount/pageFileSize+1;
//读取当前页的文件内容
if(f.exists())
{
FileReader fileReader1=new FileReader(f);
BufferedReader buffer1=new BufferedReader(fileReader1);
String tempString=null;
for(int i=0;i<diPage*pageFileSize;i++)
buffer1.readLine();
for(int i=0;i<pageFileSize&&(tempString=buffer1.readLine())!=null;i++)
out.println(tempString+"<br>");
buffer1.close();
fileReader1.close();
}
else
{
out.println("文件中暂时没有内容。");
}
%>
</p>
<p align="center">
<a href="fenye0.jsp" >返回上一页 </a>
<%if(diPage>0)
{%>
<a href="fenye.jsp?page=<%=diPage-1%>">上一页</a>
<%}%>
<%if(diPage<fileCountPage)
{%>
<a href="fenye.jsp?page=<%=diPage+1%>">下一页</a>共<%=fileCountPage%>页,当前第<%=diPage+1%>页
</a>
<%}%>
</html>
将text赋初值后,txt文件的第一页能显示出来,如果不赋初值就发生异常
另外,赋初值后我点击 下一页时 发生如下面的错误:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /fenye.jsp at line 2724: int pageFileSize=20;//每页20行数据
25: int fileLineCount=0;//文件总行数
26: int fileCountPage=0;//文件页数
27: File f=new File(str);
28: //得到文件总行数
29: if(f.exists())
30: {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
java.io.File.<init>(Unknown Source)
org.apache.jsp.fenye_jsp._jspService(fenye_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
当然啦
你试一下File f=new File(null);
能不发生异常吗
另
当翻下一页的时候,String str=request.getParameter("loadfile");
已经取不到值了,str已经是null了