分页的第一个页面<%@ 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" >返回上一页 &nbsp;</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)