下面的代码是由远到近排序,如何改成最新的在最前面?
File d = new File(path);
File list[] = d.listFiles();
int count=list.length;
list.lastModifyDate();
int pageno=0;
int pagesum=20;
int pagenum=count/pagesum;
String p=request.getParameter("pageno");
if(p!=null)
pageno=Integer.parseInt(p);
for(int i=(pageno*pagesum);i<list.length&i<((pageno+1)*pagesum);i++)
out.print(list[i].getName());
}
%>谢谢!
File d = new File(path);
File list[] = d.listFiles();
int count=list.length;
list.lastModifyDate();
int pageno=0;
int pagesum=20;
int pagenum=count/pagesum;
String p=request.getParameter("pageno");
if(p!=null)
pageno=Integer.parseInt(p);
for(int i=(pageno*pagesum);i<list.length&i<((pageno+1)*pagesum);i++)
out.print(list[i].getName());
}
%>谢谢!
File list[] = d.listFiles();
int count=list.length;
list.lastModifyDate();
int pageno=0;
int pagesum=20;
int pagenum=count/pagesum;
String p=request.getParameter("pageno");
if(p!=null)
pageno=Integer.parseInt(p);
int tmp=list.length<((pageno+1)*pagesum)?((pageno+1)*pagesum):list.length;
for(int i=tmp;i>pageno*pagesum;i--)
out.print(list[i].getName());
}
-----------
手敲的没有验证,但思路就这个样子!
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 28 in the jsp file: /index.jsp
Cannot invoke lastModifyDate() on the array type File[]
25: File list[] = d.listFiles();//总条数
26: //Collection.reverse(list);//z,C,a
27: int count=list.length;
28: list.lastModifyDate();
29:
30: int pageno=0;
31: int pagesum=20;//每页显示条数二、用int tmp=list.length<((pageno+1)*pagesum)?((pageno+1)*pagesum):list.length;
for(int i=tmp;i>pageno*pagesum;i--)
out.print(list[i].getName());
}
提示如下错误:
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 /index.jsp at line 7572: </tr>
73: <tr>
74: <td>
75: <li><a href="/reports/<%=list[i].getName()%>"><%= list[i].getName()%><BR>
76: </td>
77: </tr>
78: <%
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause java.lang.ArrayIndexOutOfBoundsException: 14981
org.apache.jsp.index_jsp._jspService(index_jsp.java:141)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
extends IndexOutOfBoundsException用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。
<%@ page language="java" pageEncoding="gbk"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>
filelist
</title>
</head>
<body bgcolor="#ffffff">
<CENTER>
<FONT SIZE = 5 COLOR = blue>研究报告</FONT>
</CENTER>
<BR>
<HR>
<BR>
<form name="Formdy" method="post" action="">
<%
//取得目前目录的磁盘目录
String path ="D:/apache-tomcat-7.0.27/webapps/ROOT/reports"; //request.getRealPath("/");
//建立代表目前目录位置的d变量
File d = new File(path);
//取得代表目录中所有文件
File list[] = d.listFiles();//总条数
File filesname[]=d.listFiles();
//Collection.reverse(list);//z,C,a
int count=list.length;
//list.lastModifyDate();int pageno=0;
int pagesum=20;//每页显示条数
int pagenum=count/pagesum;//总页数
String p=request.getParameter("pageno");
String p1=request.getParameter("pageno1");
if(p1!=null && !p1.equals("")){p=p1;}
if(p!=null)
pageno=Integer.parseInt(p);// Collections.sort(list);
//else
//pageno=0;
//if(pageno>pagesum)
//pageno=pagesum;
//if(pageno<0)
//pageno=0;
%>
<table border="0">
<Font color = blue><ul><%//int tmp=list.length<((pageno+1)*pagesum)?((pageno+1)*pagesum):list.length;
//for(int i=tmp;i>pageno*pagesum;i--)
for(int i=0;i<list.length;i++){ for(int j=0;j<list.length;j++){
if(list[i].lastModified()>list[j].lastModified()){
filesname[i] = list[i];
list[i] = list[j];
list[j] = filesname[i];
}}}
for(int i=(pageno*pagesum);i<list.length&i<((pageno+1)*pagesum);i++){
%>
<tr>
<td> </td>
</tr>
<tr>
<td>
<li><a href="/reports/<%=list[i].getName()%>"><%= list[i].getName()%><BR>
</td>
</tr>
<%
}
%>
</ul>
</Font>
<tr>
<td align="center"><a href="index.jsp?pageno=0">首页</a><%if(pageno>0){%>
<a href="index.jsp?pageno=<%=pageno-1%>">上一页</a>
<%}%>
<%
//for(int i=0;i<pagenum;i++){
out.print("当前第"+pageno+"页"+"/总计"+pagenum+"页");
//}
%><%if(pageno>=0){%>
<a href="index.jsp?pageno=<%=pageno+1%>">下一页</a>
<%}%><a href="index.jsp?pageno=<%=pagenum%>">未页</a><input name="pageno1" type="text" onKeyDown="if(event.keyCode==13)event.keyCode=9" onKeyUp="value=value.replace(/[^\d]/g,'') " size="3" maxlength="5"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
页
<input type="button" name="Submit" value="GO" onClick="CheckPage()" class="button"></td>
</tr>
</table></form>
</body>
</html>
<script language=javascript>
function CheckPage(){
if( Formdy.pageno1.value ==""){
alert("请输入您要去的页码!");
return false;
}
Formdy.action="";
Formdy.submit();
}</script>