A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈俊来 中级黑马   /  2012-9-12 10:20  /  1444 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问题:某目录下有大量的文件,file.listFiles()是将目录下所有的文件读出,请问有没有办法,读出指定数量的文件啊?

评分

参与人数 1黑马币 +30 收起 理由
王德升 + 30 赞一个!

查看全部评分

6 个回复

倒序浏览
你要怎么指定,名字还是什么
回复 使用道具 举报
假如说某个目录下有10000个文件,我想每次读出100个文件,而不是全部读出
回复 使用道具 举报


      楼主你看这行不


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集合,得到里面的内容

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


回复 使用道具 举报
  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-12 15:02
楼主你看这行不

这样可以啦
回复 使用道具 举报

RE: 读取目录下文件的问题

陈俊来 发表于 2012-9-13 16:26
这样可以啦

问题已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马