黑马程序员技术交流社区

标题: 读取目录下文件的问题 [打印本页]

作者: 陈俊来    时间: 2012-9-12 10:20
标题: 读取目录下文件的问题
问题:某目录下有大量的文件,file.listFiles()是将目录下所有的文件读出,请问有没有办法,读出指定数量的文件啊?
作者: 王陶成    时间: 2012-9-12 10:24
你要怎么指定,名字还是什么
作者: 陈俊来    时间: 2012-9-12 14:20
假如说某个目录下有10000个文件,我想每次读出100个文件,而不是全部读出
作者: 王陶成    时间: 2012-9-12 15:02


      楼主你看这行不


import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

class Demo1 {
        public static void main(String[] args) {
                File dir = new File("k:\\图片");
                List<File> list = new ArrayList<File>();//用于接收file对象
                fileToList(dir, list);
               
        }
        public static void fileToList(File dir, List<File> list) {
                File[] files = dir.listFiles();
                List<File> l = Arrays.asList(files);//将数组转换为list集合
               
                Iterator<File> it = l.iterator();
               
                for(int i=0; i<100; i++) {//for循环100次,通过iterator,按个加入接收file对象的list
                        if(it.hasNext()){
                                list.add(it.next());
                        }else {
                                return;
                        }
                }
                System.out.println(list.size());//我没有输出,我测试了一下list中的数量 100
        }
}


    最后你可以通过遍历List集合,得到里面的内容

我不知道这样符合你要求不。



作者: AngieFans85    时间: 2012-9-12 15:13
  1. public static void list(File f) {
  2.                 int i = 0;
  3.                 if (f.isFile()) {
  4.                         System.out.println(f + "是文件");
  5.                 } else {
  6.                         File[] fs = f.listFiles();
  7.                         for (i = 0; i < fs.length && i < 100; i++) {
  8.                                 if (fs[i].isFile()) {
  9.                                         System.out.println(fs[i]);
  10.                                 } else {
  11.                                         list(fs[i]);
  12.                                 }
  13.                         }
  14.                 }
  15.         }
复制代码

作者: 陈俊来    时间: 2012-9-13 16:26
王陶成 发表于 2012-9-12 15:02
楼主你看这行不

这样可以啦
作者: 陈俊来    时间: 2012-9-13 16:35
标题: RE: 读取目录下文件的问题
陈俊来 发表于 2012-9-13 16:26
这样可以啦

问题已解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2