精华内容
下载资源
问答
  • 1 package util;... 3 import java.io.File; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 import org.apache.commons.lang3.StringUtils; 8 9 public class FileUtils { 10 ...
     1 package util;
     2 
     3 import java.io.File;
     4 import java.util.ArrayList;
     5 import java.util.List;
     6 
     7 import org.apache.commons.lang3.StringUtils;
     8 
     9 public class FileUtils {
    10     public static void main(String[] args) {
    11         List<File> files = FileUtils
    12                 .getAllFiles("D:" + File.separator + "Java");
    13         for (File file : files) {
    14             System.out.println(file);
    15         }
    16     }
    17 
    18     /**
    19      * 列出目录下的所有文件.
    20      * 
    21      * @param path
    22      * @return
    23      */
    24     private static List<File> getAllFiles(String path) {
    25         List<File> files = new ArrayList<File>();
    26         if (!StringUtils.isNotEmpty(path)) {
    27             return files;
    28         }
    29         File root = new File(path);
    30         if (root.exists()) {
    31             if (root.isDirectory()) {
    32                 File[] childFiles = root.listFiles();
    33                 for (File childFile : childFiles) {
    34                     files.addAll(getAllFiles(childFile.getAbsolutePath()));
    35                 }
    36             } else {
    37                 files.add(root);
    38             }
    39         }
    40         return files;
    41     }
    42 }

     

    转载于:https://www.cnblogs.com/freshier/p/4756156.html

    展开全文
  • java ,如何获取指定目录下的所有文件呢?看代码:/**** 获取指定目录下的所有的文件(不包括文件夹),采用了递归** @param obj* @return*/public static ArrayList getListFiles(Object obj) {File directory = null...

    java ,如何获取指定目录下的所有文件呢?

    看代码:

    /***

    * 获取指定目录下的所有的文件(不包括文件夹),采用了递归

    *

    * @param obj

    * @return

    */

    public static ArrayList getListFiles(Object obj) {

    File directory = null;

    if (obj instanceof File) {

    directory = (File) obj;

    } else {

    directory = new File(obj.toString());

    }

    ArrayList files = new ArrayList();

    if (directory.isFile()) {

    files.add(directory);

    return files;

    } else if (directory.isDirectory()) {

    File[] fileArr = directory.listFiles();

    for (int i = 0; i < fileArr.length; i++) {

    File fileOne = fileArr[i];

    files.addAll(getListFiles(fileOne));

    }

    }

    return files;

    }

    说明:上述方法采用了递归,所以包含子目录下的子目录中的文件。。。

    测试代码:

    @Test

    public void test_getListFiles(){

    ArrayList files=FileUtils.getListFiles("d:\\Temp\\a\\a");

    SystemUtil.printFilesFilePath(files);

    }

    输出结果:

    d:\Temp\a\a\divided\merged\oracle学习笔记.doc

    d:\Temp\a\a\divided\oracle学习笔记.doc_1_3kldv

    d:\Temp\a\a\divided\oracle学习笔记.doc_2_3kldv

    d:\Temp\a\a\divided\oracle学习笔记.doc_3_3kldv

    d:\Temp\a\a\oracle学习笔记.doc

    过滤前缀(只是获取指定目录下的文件,没有递归):

    /***

    *

    * @param path

    * @param prefixStr

    * :前缀名

    * @return

    */

    public static File[] getFilesByPathPrefix(File path, final String prefixStr) {

    File[] fileArr = path.listFiles(new FilenameFilter() {

    @Override

    public boolean accept(File dir, String name) {

    // System.out.println("prefixStr:"+prefixStr);

    if ((ValueWidget.isNullOrEmpty(prefixStr) || (dir.isDirectory() && name

    .startsWith(prefixStr)))) {

    return true;

    } else {

    return false;

    }

    }

    });

    return fileArr;

    }

    /***

    * 前缀名

    *

    * @param pathStr

    * @param prefixStr

    * @return

    */

    public static File[] getFilesByPathAndPrefix(String pathStr,

    final String prefixStr) {

    File path = new File(pathStr);

    return getFilesByPathPrefix(path, prefixStr);

    }

    过滤后缀名(只是获取指定目录下的文件,没有递归):

    /***

    *

    * @param path

    * @param prefixStr

    * :后缀名

    * @return

    */

    public static File[] getFilesByPathAndSuffix(File path,

    final String sufixStr) {

    File[] fileArr = path.listFiles(new FilenameFilter() {

    @Override

    public boolean accept(File dir, String name) {

    // System.out.println("prefixStr:"+prefixStr);

    if ((ValueWidget.isNullOrEmpty(sufixStr) || (dir.isDirectory() && name

    .endsWith(sufixStr)))) {

    return true;

    } else {

    return false;

    }

    }

    });

    return fileArr;

    }

    /***

    * 后缀名

    *

    * @param pathStr

    * @param sufixStr

    * @return

    */

    public static File[] getFilesByPathAndSuffix(String pathStr,

    final String sufixStr) {

    File path = new File(pathStr);

    return getFilesByPathAndSuffix(path, sufixStr);

    }

    展开全文
  • /*** 获取1号店生鲜食品的分类id字符串* @param filePath* @return*/public String getYHDSXCategoryIdStr(String filePath) {final String DELIMITER = new String(new byte[]{1});...// 遍历目录下的所...

    /**

    * 获取1号店生鲜食品的分类id字符串

    * @param filePath

    * @return

    */

    public String getYHDSXCategoryIdStr(String filePath) {

    final String DELIMITER = new String(new byte[]{1});

    final String INNER_DELIMITER = ",";

    // 遍历目录下的所有文件

    BufferedReader br = null;

    try {

    FileSystem fs = FileSystem.get(new Configuration());

    FileStatus[] status = fs.listStatus(new Path(filePath));

    for (FileStatus file : status) {

    if (!file.getPath().getName().startsWith("part-")) {

    continue;

    }

    FSDataInputStream inputStream = fs.open(file.getPath());

    br = new BufferedReader(new InputStreamReader(inputStream));

    String line = null;

    while (null != (line = br.readLine())) {

    String[] strs = line.split(DELIMITER);

    String categoryId = strs[0];

    String categorySearchName = strs[9];

    if (-1 != categorySearchName.indexOf("0-956955")) {

    yhdsxCategoryIdStr += (categoryId + INNER_DELIMITER);

    }

    }// end of while

    }

    } catch (IOException e) {

    e.printStackTrace();

    } finally {

    try {

    br.close();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    return yhdsxCategoryIdStr;

    }

    HDFS上的目录、文件:

    -bash-3.2$ hadoop fs -ls /user/hive/warehouse/category

    Found 2 items

    -rw-r--r-- 2 basicdata supergroup 0 2014-08-18 01:05 /user/hive/warehouse/category/_SUCCESS

    -rw-r--r-- 2 basicdata supergroup 1117233 2014-08-18 01:05 /user/hive/warehouse/category/part-m-00000

    文件内容:

    -bash-3.2$ hadoop fs -cat /user/hive/warehouse/category/part-* | more

    52880000052880杂粮组合51621010-5135-5162-5288:食品-粮油-杂粮组合011

    9726780009726787茶具19650290040-950340-965029-972678:家居-餐具水具-茶具1011

    9701550009701557菲士康196046510null0-960464-960465-970155:隐形眼镜(药网)-普通隐形眼镜-菲士康1011

    9702350009702356生活服务000180-970235:生活服务011

    9702360009702367SIM卡9635241030-957328-963524-970236:手机通讯/数码电器-运营商-SIM卡011

    9737840009737842鞋包配饰97377810null0-960665-960768-973775-973778-973784:1号礼品中心-时尚创意礼品-定制品-个性定制-鞋包配饰011

    5315T602个人清洁5183190null0-5134-5183-5315:厨卫清洁-清洁剂-个人清洁111

    5316T603家用清洁5183190null0-5134-5183-5316:厨卫清洁-清洁剂-家用清洁111

    5317UD02蛋制品1516110null0-5135-5161-5317:食品饮料-腌制品1-蛋制品1111

    5318UD030肉制品5161180null0-5135-5161-5318:食品饮料-腌制品-肉制品111

    展开全文
  • java递归读取目录下的所有文件

    万次阅读 2016-12-05 16:49:41
    java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到files[]数组,然后遍历读取的所有文件,然后通过isFile(文件)和...

    java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到files[]数组,然后遍历得到的所有文件,通过isFile(文件)和isDirectory(文件夹)方法来判断读取的是文件还是文件夹,如果得到的是文件夹,就递归调用test()方法,如果得到的是文件,就将其加入fileList中,最后测试的时候遍历fileList下的所有文件,来验证读取数据的准确性。

    package com.chaoyue.io.test;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 递归读取某个目录下的所有文件
     * 
     * @author 超越
     * @Date 2016年12月5日,下午4:04:59
     * @motto 人在一起叫聚会,心在一起叫团队
     * @Version 1.0
     */
    public class ReadFile {
    	private static void test(String fileDir) {
    		List<File> fileList = new ArrayList<File>();
    		File file = new File(fileDir);
    		File[] files = file.listFiles();// 获取目录下的所有文件或文件夹
    		if (files == null) {// 如果目录为空,直接退出
    			return;
    		}
    		// 遍历,目录下的所有文件
    		for (File f : files) {
    			if (f.isFile()) {
    				fileList.add(f);
    			} else if (f.isDirectory()) {
    				System.out.println(f.getAbsolutePath());
    				test(f.getAbsolutePath());
    			}
    		}
    		for (File f1 : fileList) {
    			System.out.println(f1.getName());
    		}
    	}
    
    	public static void main(String[] args) {
    		test("F:/apache-tomcat-7.0.57-windows-x64");
    	}
    }
    

    本地目录下的文件结构如下

    测试读取目录下的文件如下


    展开全文
  • 主要为大家详细介绍了java递归读取目录下所有文件的方法,具有一定参考价值,感兴趣小伙伴们可以参考一下
  • 如下图,读取相同目录下的txt文件 ​public class TestHelper {public static JSONObject readTXT() {JSONObject obj = new JSONObject();String path = new TestHelper().getPath() + "test.txt";path = path....
  • java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到files[]数组,然后遍历得到的所有文件,通过isFile(文件)和...
  • java读取某个目录下的所有文件

    千次阅读 2019-03-07 17:56:51
    今天我们以读取NC文件为例,一次性读取某个目录下的所有文件; 首先在循环读取文件列表:如果是目录,则目录路径+文件名;如果不是目录,则直接输出文件名 package jichu2.duowenjian; import java.io.File; ...
  • 能够自动读取文件夹下的所有文件在处理或者读取数据的时候作用很大,要不然需要手动修改文件路径,非常麻烦。如果该文件夹下只有几个文件倒是还好,但是一旦文件的数量非常大的时候,将导致工作量非常大,而且还可能...
  • java中递归读取目录下的所有文件

    千次阅读 2018-03-30 18:21:24
    java递归读取目录下的所有文件(包含子目录下的所有文件) 思路:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到 files[]数组,然后遍历得到的所有文件,通过isFile(文件)和...
  • Java读取某个目录下所有文件

    千次阅读 2019-04-09 09:27:14
    Java-读取某个目录下所有文件、文件夹和3种从文件路径中获取文件名方法 1 、读取某个目录下所有文件、文件夹 public static ArrayList<String> getFiles(String path) { ArrayList<String> files = ...
  • Java API 读取HDFS目录下的所有文件

    万次阅读 2014-08-18 21:02:43
    Java API 读取HDFS目录下的所有文件
  • import java.io.File;import java.util.ArrayList;import java.util.List;public class Test {public static void main(String[] args) {//目录File dataDir = new File("D:\\work\\softwares\\tomc...
  • java 读取FTP下的所有文件目录,并一递归的方式组成tree的数据格式保存到数据库中?求大神告诉一下该怎么写。本人很菜,求帮助?
  • 1.效果图:在控制台输出所有的文件的文件名如下: 2.FileUtil.java:package cn.gov.csrc.base.report.util;...public class FileUtil {/*** 获取指定目录下的所有文件名** @param obj* @return*/public sta...
  • * @Description:获取某个目录下所有直接下级文件,不包括目录下的子目录的下的文件,所以不用递归获取 * @Date: */ public static List<String> getFiles(String path) { List<String> files = ...
  • package com.jxtech.filetool; import java.io.File; ...public class FileTool { ... public static void main(String[] args) throws Exception { ... // 递归显示C盘下所有文件夹及其中文件 File root = new F...
  • // 读取某个目录下的所有文件 包括子目录 // public ArrayList<String> fileName = new ArrayList<String>(); public void getFile(File file){ if(file != null){ File[] f = file.listFiles()...
  • public static void main(String[] args) { //目录 File dataDir = new File("E:/资源库资源/20091111");... //存放目录及其子目录下的所有文件对象 List myfile = new ArrayList(); //开始遍历 li
  • /* * Administrator * 2012-5-10 */ package com.test; import java.io.File; import java.util.ArrayList; import java.util.List; public class FileTest {... * 获取当前目录下所有java文件 *...
  • importjava.io.FileNotFoundException; importjava.io.IOException; importjava.io.File; publicclassReadFile{ publicReadFile(){ } /** *读取某个文件夹下的所有文件 */ ...
  • /*** 获取1号店生鲜食品的分类id字符串* @param filePath* @return*/public String getYHDSXCategoryIdStr(String filePath) {final String DELIMITER = new String(new byte[]{1});...// 遍历目录下的所...
  • public File[] getFiles(HttpServletRequest request,HttpServletResponse response) throws IOException { ...是文件还是文件夹也会进行判断,是我们对该路径下的所有文件以及文件夹一目了然
  • 转自:http://www.cnblogs.com/pricks/archive/2009/11/11/1601044.html import java.io.File; import java.io.IOException;...import java.util.ArrayList;...import java.util.Iterator;...import java.util.List...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 602
精华内容 240
关键字:

java读取目录下的所有文件

java 订阅