JSP中较长文件分页的实现代码

本文介绍了一个使用Java实现的简单分页读取大文件的方法。通过设置每页显示的行数,可以逐步加载文件内容,适用于查看大型文本文件。代码示例展示了如何根据用户请求读取指定页的内容。
<%@ 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>
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值