日期:2014-05-20 浏览次数:20705 次
package com.yangxiutian; import java.io.File; import java.io.FileFilter; import java.util.Arrays; public class Test { public static void main(String[] args) { File[] fs=getFiles("C:\\Documents and Settings\\Administrator\\桌面",3); for(File temp:fs){ System.out.println(temp.getName()); } } /** * * @param dir 指定的路径 * @param currentPage 类似于分页 * @return */ static File[] getFiles(String dir,int currentPage){ File f=new File(dir); int pageSize=10; File[] allFiles=f.listFiles(new FileFilter() {//过滤掉目录 @Override public boolean accept(File f) { return f.isFile()?true:false; } });System.out.println(allFiles.length); int init=(currentPage-1)*pageSize; if(init>allFiles.length){//页数太大 return new File[0]; } File[] output=Arrays.copyOfRange(allFiles, init, init+pageSize); if(init+10>allFiles.length){//不足一页的情况 去掉null int size=allFiles.length-init; output=Arrays.copyOf(output, size); } return output; } }
------解决方案--------------------
要实现读完 多次调用getFiles方法即可
int idx=0;
File[] fs=null;
do fs=getFiles(path,idx++);
while(fs.length<10);
------解决方案--------------------