精华内容
下载资源
问答
  • * @param path:文件目录路径 * @apiNote 递归获取无后缀文件 */ public void getFiles(List<File> list, String path){ File file = new File(path); if(!file.exists()) { ret...
    	/**
    	 * @param list:输出文件list
    	 * @param path:文件目录路径
    	 * @apiNote 递归获取无后缀文件
    	 */
    	public void getFiles(List<File> list, String path){
    		File file = new File(path);
    		if(!file.exists()) {
    			return;
    		}
    
    		//如果直接是文件直接加到list
    		if(file.isFile()) {
    			list.add(file);
    			return;
    		}
    		
            //为目录就读取文件列表
    		File[] files = file.listFiles();
    		if(files == null) 
    			return ;
    		
            //读取list里面的文件
    		for(File f : files) {
    			
    			if(f.isDirectory()) {
                    //递归抓取文件
    				getFiles(list, f.getPath());
    			}else if(f.isFile() && !f.getName().contains(".")) {
    				list.add(f);
    				System.out.println(f.getName());
    			}else {
    				;
    			}
    			
    		}
    	}

     

    展开全文
  • import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter;    ...

    import java.io.BufferedReader;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.InputStreamReader;

    import  java.io.OutputStreamWriter; 

     

    public class Translate {

     public static void main(String[] args){

    Translate.multiFile();

     }

     

     public static void singleFile(){

    //读取文件内容

    String path = "D:/cmis/data/";

    FileOutputStream fos = null;

        OutputStreamWriter osw = null; 

        

    try{

        File file=new File(path);

        File[] tempList = file.listFiles();

         fos  = new  FileOutputStream( "D:/cmis/Result.txt"); 

         osw  = new  OutputStreamWriter(fos, "GB2312" );

     

        System.out.println("该目录下对象个数:"+tempList.length);

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

        if (tempList[i].isFile()) {

           System.out.println("文     件:"+tempList[i]);

              // read file

            if(tempList[i].exists()){

            FileInputStream fi = new FileInputStream(tempList[i]);

               InputStreamReader isr = new InputStreamReader(fi, "utf-8");

               BufferedReader bfin = new BufferedReader(isr);

               String rLine = "";

               while((rLine = bfin.readLine())!=null){

               // write file

             osw.write(rLine+"\n"); 

             osw.flush(); 

               }

             bfin.close();

             isr.close();

            }

            }

            if (tempList[i].isDirectory()) {

             System.out.println("文件夹:"+tempList[i]);

            }

        }

            osw.close();

            fos.close();

      }catch(Exception e) {

      e.printStackTrace();

      }

     }

     

     public static void multiFile(){

    //读取文件内容

    String path = "D:/cmis/data/";

    FileOutputStream fos = null;

        OutputStreamWriter osw = null; 

        

    try{

        File file=new File(path);

        File[] tempList = file.listFiles();

     

        System.out.println("该目录下对象个数:"+tempList.length);

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

        if (tempList[i].isFile()) {

           System.out.println("文     件:"+tempList[i]);

         fos  = new  FileOutputStream( "D:/cmis/result/"+ tempList[i].getName()); 

         osw  =   new  OutputStreamWriter(fos, "GB2312" );

     

              // read file

            if(tempList[i].exists()){

            FileInputStream fi = new FileInputStream(tempList[i]);

               InputStreamReader isr = new InputStreamReader(fi, "utf-8");

               BufferedReader bfin = new BufferedReader(isr);

               String rLine = "";

               while((rLine = bfin.readLine())!=null){

               // write file

             osw.write(rLine+"\n"); 

             osw.flush(); 

               }

             bfin.close();

             isr.close();

            }

            osw.close();

            fos.close();

            

            }

            if (tempList[i].isDirectory()) {

             System.out.println("文件夹:"+tempList[i]);

            }

        }

      }catch(Exception e) {

      e.printStackTrace();

      }

     }

     

    }

    展开全文
  • 主要为大家详细介绍了java递归读取目录下所有文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 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);

    }

    展开全文
  • 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 fileList = new ArrayList();

    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");

    }

    }

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

    3f694e36d102cff10d2f5e74e4ab416a.png

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

    287f248c6d8a9f3dd4fe0d11383da266.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 如下图,读取相同目录下的txt文件 ​public class TestHelper {public static JSONObject readTXT() {JSONObject obj = new JSONObject();String path = new TestHelper().getPath() + "test.txt";path = path....
  • Java读取某个目录下所有文件

    千次阅读 2019-04-09 09:27:14
    Java-读取某个目录下所有文件、文件夹和3种从文件路径中获取文件名的方法 1 、读取某个目录下所有文件、文件夹 public static ArrayList<String> getFiles(String path) { ArrayList<String> files = ...
  • /*** 获取1号店生鲜食品的分类id字符串* @param filePath* @return*/public String getYHDSXCategoryIdStr(String filePath) {final String DELIMITER = new String(new byte[]{1});...// 遍历目录下的所...
  • java读取文件夹下所有文件目录 以下2中办法核心都是递归,只不过数据返回的不一样,第一种返回路径、子文件夹、子文件,第二种就是文件路径 可以自由扩展 第一种办法 public static JSONArray traverseFolder2...
  • // 读取某个目录下所有文件 包括子目录 // public ArrayList<String> fileName = new ArrayList<String>(); public void getFile(File file){ if(file != null){ File[] f = file.listFiles()...
  • 能够自动读取文件夹所有文件在处理或者读取数据的时候作用很大,要不然需要手动修改文件路径,非常麻烦。如果该文件夹只有几个文件倒是还好,但是一旦文件的数量非常大的时候,将导致工作量非常大,而且还可能...
  • 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 ...
  • java递归读取目录下所有文件

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

    千次阅读 2019-03-07 17:56:51
    java读取某个目录下的单个文件,比较简单;如果某个目录下有很多个文件,需要用java一次性全部读出来,该怎么办呢? 今天我们以读取NC文件为例,一次性读取某个目录下所有文件; 首先在循环读取文件列表:如果是...
  • * @Description:获取某个目录下所有直接下级文件,不包括目录下的子目录的下的文件,所以不用递归获取 * @Date: */ public static List<String> getFiles(String path) { List<String> files = ...
  • 我写一个java程序,想读取一个目录下所有的子目录,但是不想得到他子目录的子目录,求高手帮助
  • 1.效果图:在控制台输出所有文件的文件名如下: 2.FileUtil.java:package cn.gov.csrc.base.report.util;...public class FileUtil {/*** 获取指定目录下所有文件名** @param obj* @return*/public sta...
  • java中递归读取目录下所有文件

    千次阅读 2018-03-30 18:21:24
    java递归读取目录下所有文件(包含子目录下的所有文件) 思路:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到 files[]数组,然后遍历得到的所有文件,通过isFile(文件)和...
  • importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;importjava.util.ArrayList;importjava.util.StringTokenizer...//解析指定目录下所有csv文件,返回三维数...
  • Java如何读取指定目录所有文件/文件夹? Java,File类提供了一个list() 方法,获取当前路径目录所有文件,包括文件夹,并返回一个数组。 通过遍历该数组,可获得每个文件/文件夹的路径,然后通过File类提供的方法...
  • 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...
  • package dwzx.com.get; import java.io.BufferedReader; import java.io.File;...import java.io.FileReader;...import java.io.IOException;...import java.util.ArrayList;...import java.util.StringTokeniz...
  • importjava.io.FileNotFoundException; importjava.io.IOException; importjava.io.File; publicclassReadFile{ publicReadFile(){ } /** *读取某个文件夹所有文件 */ ...
  • Java API 读取HDFS目录下所有文件

    万次阅读 2014-08-18 21:02:43
    Java API 读取HDFS目录下所有文件

空空如也

空空如也

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

java读取目录下所有文件

java 订阅