JSP中較長文件分頁的實現代碼

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>分頁讀取文件內容</title>
</head>
<body>
<p align="center">分頁讀取內容:</p>
<p>
<%
  String pages
=request.getParameter("page");
  
if(pages==null)
  
{
     pages
="0";
  }

  
int diPage=Integer.parseInt(pages);
%>
<%
  
int pageFileSize=20;
  
int fileLineCount=0;
  
int fileCountPage=0;
  File f
=new File("c:/test.doc");
  
  
//得到文件總行數
  if(f.exists())
  
{
      FileReader fileReader1
=new FileReader(f);
      BufferedReader bf
=new BufferedReader(fileReader1);
      String tempString
=null;
      
while((tempString=bf.readLine())!=null)
      
{
          fileLineCount
++;
      }

      bf.close();
      fileReader1.close();
  }

  
  
//得到文件頁數
  if(fileLineCount%pageFileSize==0)
      fileCountPage
=fileLineCount/pageFileSize;
  
else
      fileCountPage
=fileLineCount/pageFileSize+1;
  
  
//讀取當前頁面的文件內容
  if(f.exists())
  
{
      FileReader fileReader1
=new FileReader(f);
      BufferedReader bf
=new BufferedReader(fileReader1);
      String tempString
=null;
      
for(int i=0;i<diPage*pageFileSize;i++)
          bf.readLine();
      
for(int i=0;i<pageFileSize && (tempString=bf.readLine())!=null;i++)
          out.println(tempString
+"<br>");
      bf.close();
      fileReader1.close();
          
  }

  
else
  
{
      out.println(
"文件中暫時沒有內容.");
  }

  
%>
</p>
<p align="center">
<%
  
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 %>
   
<%}
%>
   
</p>
</body>
</html>
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章