精华内容
下载资源
问答
  • 本文主要实现的是遍历文件夹,获取文件的路径… 需要代码的请直接看最下面的代码 文件路径 桌面有一个文件,名叫123,路径是C:\Users\14784\Desktop\123(写代码的时候记得将“\”进行转义否则会报错) 123文件下...

    本文主要实现的是遍历文件夹,获取子文件的路径…

    需要代码的请直接看最下面的代码

    文件路径

    桌面有一个文件,名叫123,路径是C:\Users\14784\Desktop\123(写代码的时候记得将“\”进行转义否则会报错
    在这里插入图片描述

    123文件下有三个文件,分别是1,2,3.
    在这里插入图片描述

    三个文件夹下文件情况是这样的
    分别是1,2,3文件下包含的文件

    实现的代码

    package test;
    import java.io.File;
    
    /**
     * 递归实现遍历文件夹,获得子文件夹的路径
     */
    
    public class test1 {
    	public static void main(String[] ssd) {
    	//这里的文件路径是绝对路径(即必须写明具体在哪儿)
    		isDirectory(new File("C://Users//14784//Desktop//123"));
    	}
    	
    	public static void isDirectory(File file) {
    		if(file.exists()){
    			if (file.isFile()) {
    			System.out.println("file is ==>>" + file.getAbsolutePath());
    			}else{
    				File[] list = file.listFiles();
    				if (list.length == 0) {
    					System.out.println(file.getAbsolutePath() + " is null");
    				} else {
    					for (int i = 0; i < list.length; i++) {
    						isDirectory(list[i]);//递归调用
    					}
    				}
    			}
    		}else{
    			System.out.println("文件不存在!");
    		}
    	}
    }
    

    输出结果

    在这里插入图片描述

    注:由于这个方法是获取的绝对路径,所以必须要写明白是绝对路径…
    在这里插入图片描述

    注2: 相对路径和绝对路径
    https://fishc.com.cn/forum.php?mod=viewthread&tid=108438&extra=page%3D1%26filter%3Dtypeid%26typeid%3D731

    展开全文
  • } /* 下面时递归循环文件夹,这样输出流有问题,不采用 */ /*try { File file = new File("E:/123.docx"); OutputStream out = new FileOutputStream(file); File dir = new File(strPath); File[] files = dir....

    public static void main(String[] args) {
                getFileList("E:/XXX");//要读入的目标文件路径
            } 

     

      public static void getFileList(String strPath) {
                try {
                        File file = new File("E:/123.txt");//要输出的文件路径
                        File dir = new File(strPath);
                        OutputStream out = new FileOutputStream(file);
                        int fileNum = 0, folderNum = 0;
                        LinkedList<File> list = new LinkedList<>();
            
                        if (dir.exists()) {
                            if (null == dir.listFiles()) {
                                return;
                            }
                            list.addAll(Arrays.asList(dir.listFiles()));
                            while (!list.isEmpty()) {
                                File[] files = list.removeFirst().listFiles();
                                if (null == files) {
                                    continue;
                                }
                                for (File f : files) {
                                    if (f.isDirectory()) {
                                        System.out.println("文件夹:" + f.getAbsolutePath());
                                        list.add(f);
                                        folderNum++;
                                    } else {
                                        System.out.println("文件:" + f.getAbsolutePath());
                                        fileNum++;
                                        String fileName = f.getName();
                                        if (fileName.endsWith("java")){
                                            StringBuffer sb = new StringBuffer();
                                            System.out.println("---" + fileName);
                                            FileInputStream fis =  new FileInputStream(f);
                                                   // 设置一个,每次 装载信息的容器
                                                   byte[] buf = new byte[1024];
                                                   // 开始读取数据
                                                   int len = 0;// 每次读取到的数据的长度
                                                   while ((len = fis.read(buf)) != -1) {// len值为-1时,表示没有数据了
                                                       // append方法往sb对象里面添加数据
                                                       sb.append(new String(buf, 0, len, "utf-8"));
                                                   }
                                                   byte b[] = sb.toString().getBytes();
                                                   out.write(b);
                                                      out.flush();
                                        }
                                    }
                                }
                            }
                            out.close();
                        } else {
                            System.out.println("文件不存在!");
                        }
                        System.out.println("文件夹数量:" + folderNum + ",文件数量:" + fileNum);
                        
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                    } catch (IOException e) {
                    e.printStackTrace();
                    }
    /*           下面时递归循环文件夹,这样输出流有问题,不采用
    */            /*try {
                        File file = new File("E:/123.docx");
                        OutputStream out = new FileOutputStream(file);
                        File dir = new File(strPath);
                        File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组
                        StringBuffer sb = new StringBuffer();
                        if (files != null) {
                            for (int i = 0; i < files.length; i++) {
                                String fileName = files[i].getName();
                                if (files[i].isDirectory()) { // 判断是文件还是文件夹
                                getFileList(files[i].getAbsolutePath()); // 获取文件绝对路径
                                } else if (fileName.endsWith("java")) { // 需求是把java文件输出到同一个文件,判断文件名是否以.java结尾
                                    
                                            String strFileName = files[i].getAbsolutePath();
                                            System.out.println("---" + strFileName);
                                            FileInputStream fis =  new FileInputStream(files[i]);
                                                   // 设置一个,每次 装载信息的容器
                                                   byte[] buf = new byte[1024];
                                                   // 开始读取数据
                                                   int len = 0;// 每次读取到的数据的长度
                                                   while ((len = fis.read(buf)) != -1) {// len值为-1时,表示没有数据了
                                                       // append方法往sb对象里面添加数据
                                                       sb.append(new String(buf, 0, len, "utf-8"));
                                                   }
                                                 
                                } else {
                                continue;
                                }
                            }
                        }
                          byte b[] = sb.toString().getBytes();
                           out.write(b);
                              out.flush();
                        out.close();
                
                    } catch (FileNotFoundException e) {
                    e.printStackTrace();
                    } catch (IOException e) {
                    e.printStackTrace();
                    }*/

                }

    展开全文
  • public class Test1 { ... //例D:\qrcodeFile文件夹下包含20190116和20190117俩个文件夹, //20190116和20190117俩个文件夹中分别有俩个文件 isDirectory(new File("D://qrcodeFile")); } publ...
    public class Test1 {
    
    	public static void main(String[] args) {
    		//例D:\qrcodeFile文件夹下包含20190116和20190117俩个文件夹,
    		//20190116和20190117俩个文件夹中分别有俩个文件
    		isDirectory(new File("D://qrcodeFile"));
    	}
    
    
    	public static void isDirectory(File file) {
    		if(file.exists()){
    			if (file.isFile()) {
    			System.out.println("file is ==>>" + file.getAbsolutePath());
    			/*  输出结果
    			 * file is ==>>D:\qrcodeFile\20190116\5c594aee7a3d4b99b234b21456d053c4.png
    			 * file is ==>>D:\qrcodeFile\20190116\95db451237344c51b4d797ddd9a71dce.png
    			 * file is ==>>D:\qrcodeFile\20190117\5c594aee7a3d4b99b0c9b21456d053c4.png
    			 * file is ==>>D:\qrcodeFile\20190117\95db457467344c51b4d797ddd9a71dce.png
    			 * */
    			}else{
    				File[] list = file.listFiles();//list获取的结果:[D:\qrcodeFile\20190116, D:\qrcodeFile\20190117]
    				if (list.length == 0) {
    					System.out.println(file.getAbsolutePath() + " is null");
    				} else {
    					for (int i = 0; i < list.length; i++) {
    						isDirectory(list[i]);
    					}
    				}
    			}
    		}else{
    			System.out.println("文件不存在!");
    		}
    	}
    }
    

    在这里插入图片描述
    转载自:https://blog.csdn.net/guying1028/article/details/2908038?utm_source=blogxgwz8

    展开全文
  • Java 删除文件夹子文件夹中的所有文件

    Java 删除文件夹和子文件夹中的所有文件

    转自:http://blog.csdn.net/qinpeng100423/article/details/6896198


    [java]  view plain copy print ?
    1. import java.io.FileNotFoundException;  
    2. import java.io.IOException;  
    3. import java.io.File;  
    4.   
    5. public class ReadFile {  
    6.   
    7.  /** 
    8.   * 删除某个文件夹下的所有文件夹和文件 
    9.   * 
    10.   * @param delpath 
    11.   *            String 
    12.   * @throws FileNotFoundException 
    13.   * @throws IOException 
    14.   * @return boolean 
    15.   */  
    16.  public static boolean deletefile(String delpath) throws Exception {  
    17.   try {  
    18.   
    19.    File file = new File(delpath);  
    20.    // 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true  
    21.    if (!file.isDirectory()) {  
    22.     file.delete();  
    23.    } else if (file.isDirectory()) {  
    24.     String[] filelist = file.list();  
    25.     for (int i = 0; i < filelist.length; i++) {  
    26.      File delfile = new File(delpath + "\\" + filelist[i]);  
    27.      if (!delfile.isDirectory()) {  
    28.       delfile.delete();  
    29.       System.out  
    30.         .println(delfile.getAbsolutePath() + "删除文件成功");  
    31.      } else if (delfile.isDirectory()) {  
    32.       deletefile(delpath + "\\" + filelist[i]);  
    33.      }  
    34.     }  
    35.     System.out.println(file.getAbsolutePath()+"删除成功");  
    36.     file.delete();  
    37.    }  
    38.   
    39.   } catch (FileNotFoundException e) {  
    40.    System.out.println("deletefile() Exception:" + e.getMessage());  
    41.   }  
    42.   return true;  
    43.  }  
    44.   
    45.  /** 
    46.   * 输出某个文件夹下的所有文件夹和文件路径 
    47.   * 
    48.   * @param delpath 
    49.   *            String 
    50.   * @throws FileNotFoundException 
    51.   * @throws IOException 
    52.   * @return boolean 
    53.   */  
    54.  public static boolean readfile(String filepath)  
    55.    throws FileNotFoundException, IOException {  
    56.   try {  
    57.   
    58.    File file = new File(filepath);  
    59.    System.out.println("遍历的路径为:" + file.getAbsolutePath());  
    60.    // 当且仅当此抽象路径名表示的文件存在且 是一个目录时(即文件夹下有子文件时),返回 true  
    61.    if (!file.isDirectory()) {  
    62.     System.out.println("该文件的绝对路径:" + file.getAbsolutePath());  
    63.     System.out.println("名称:" + file.getName());  
    64.    } else if (file.isDirectory()) {  
    65.     // 得到目录中的文件和目录  
    66.     String[] filelist = file.list();  
    67.     if (filelist.length == 0) {  
    68.      System.out.println(file.getAbsolutePath()  
    69.        + "文件夹下,没有子文件夹或文件");  
    70.     } else {  
    71.      System.out  
    72.        .println(file.getAbsolutePath() + "文件夹下,有子文件夹或文件");  
    73.     }  
    74.     for (int i = 0; i < filelist.length; i++) {  
    75.      File readfile = new File(filepath + "\\" + filelist[i]);  
    76.      System.out.println("遍历的路径为:" + readfile.getAbsolutePath());  
    77.      if (!readfile.isDirectory()) {  
    78.       System.out.println("该文件的路径:"  
    79.         + readfile.getAbsolutePath());  
    80.       System.out.println("名称:" + readfile.getName());  
    81.      } else if (readfile.isDirectory()) {  
    82.       System.out.println("-----------递归循环-----------");  
    83.       readfile(filepath + "\\" + filelist[i]);  
    84.      }  
    85.     }  
    86.   
    87.    }  
    88.   
    89.   } catch (FileNotFoundException e) {  
    90.    System.out.println("readfile() Exception:" + e.getMessage());  
    91.   }  
    92.   return true;  
    93.  }  
    94.   
    95.  public static void main(String[] args) {  
    96.   try {  
    97.    // readfile("D:/file");  
    98.    deletefile("D:/file");  
    99.   } catch (Exception ex) {  
    100.    ex.printStackTrace();  
    101.   }  
    102.   System.out.println("ok");  
    103.  }  
    104.   
    105. }  

    展开全文
  • java循环文件夹读取各种文件

    千次阅读 2019-01-25 16:45:38
    文件格式是这样的 处理方法为: ... import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;...import java.io.BufferedReader;...import java.io.File;...import java.io...
  • java 循环文件夹删除指定名称的文件

    千次阅读 2014-08-13 15:28:53
    /**循环删除指定文件夹下的指定名称的文件夹 * 被删除文件夹内的所有文件和文件夹都会被删除 */  public static void main(String[] args) {  String rootdir="D:/test/SoftwareAssets";//文件路径 String ...
  • Java中的File文件类提供删除方法,但是当我们需要删除的文件夹存在子文件夹时是无法删除的,这里利用递归来写一个简单的方法进行删除文件夹! 新建文件夹,供我们进行测试: public class FileTest { public ...
  • 今天一个同事要做这个东西,让我帮忙,呵呵,一个简单的...import java.io.*;public class FileDirectory { public static void isDirectory(File file) {  if(file.exists()){ if (file.isFile()) { Syst
  • java循环更新文件夹

    千次阅读 2016-11-25 17:55:59
    package com.tp.update; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; public class UpdateFile { private static String source; pri
  • 为了准确搜索文件,大家可以采取什么方法查找文件,本文为大家介绍Android遍历所有文件夹子目录实现文件搜索功能,感兴趣的小伙伴们可以参考一下
  • Linux 系统计算文件夹下文件数量数目 查看某目录下文件的个数(未包括子目录) ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括 ... 随机推荐 Ubuntu下的解压缩 一. 命令: ....
  • java 循环读取指定文件夹所有文件

    千次阅读 2019-06-28 11:34:22
    import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class qwe { public static List<Fil...
  • 1. 以下的代码可以用来复制文件夹中的所有文件、目录。但目的目录是源目录子目录就不行了,会死循环调用。 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import ...
  • import java.io.Serializable; /** * @Author zyh * @Date 2020/7/21 14:33 */ @Data public class FileDTO implements Serializable { private static final long serialVersionUID = 1L; private String ...
  • java读取文件夹目录文件 以下方法可以实现使用Java读取指定文件夹目录文件的名称,并把名称保存在指定的文档里。 import java.io.File; import java.io.FileWriter; import java.io.IOException; public ...
  • Java编写文件夹复制程序,复制文件夹里面的所有子文件夹和文件,格式按原样输出。
  • ------------------------------java文件夹遍历包括子文件夹的遍历和删除-------------------------- 递归就是方法调用方法自身,递归一定有条件跳出。 如何使用递归的计算方式计算阶乘 5!= 5*4*3*2*1 .. N!= ...
  • 循环文件夹

    2012-12-26 22:06:35
    本代码高效快速实现Java环境下的文件夹复制,拷贝,重命名等。
  • java删除文件夹的代码

    2013-08-31 17:41:54
    使用java代码,删除文件夹或者文件。没有使用递归,而是使用循环的方式删除文件夹。利用了java.io.File类来进行文件夹的删除
  • 如果在Java要压缩一个文件夹及其所有子文件与子文件夹,可以利用到Apache公司提供的ant插件。其实也就是一个jar包。 比如,如果要把f:\bb下的所有文件,压缩成一个f:\bb.zip,如下图: 首先先到Apache的官网,下载...
  • Java中删除一个文件夹下的所有文件(包括子目录内的文件) 代码: 如果用记事本文件名改成Demo8.java import java.io.File; public class Demo8 { static int flag = 1;//用来判断文件是否删除成功 public ...
  • Java实现文件夹复制

    2020-12-22 16:01:18
    目录中有目录的情况,需要再进入子目录复制子目录的内容,递归调用即可 给定两个路径File对象,一个为要复制的文件夹,一个为目标路径 定义复制文件的方法,在复制目录的方法中判断:如果是文件就复制,如果是文件夹...
  • //文件夹所有文件名称集合 List<String> files = new ArrayList<String>(); //填写服务器上文件的路径 File file = new File("/path..."); //获取所有文件,放到文件数组里 File[] fileList = file....
  • Java遍历文件夹工具类

    千次阅读 2016-09-13 19:42:49
    本文对java遍历文件夹做了一个封装类,实用性还是很强的
  • java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~ 2013-07-24 16:22fengyaning2009 | 分类:JAVA相关 | 浏览901次 现在已经可以对一个指定文件操作,想改成对文件夹所有文件做同样...
  • Java获取文件夹所有文件的名称

    千次阅读 2019-10-24 09:25:26
    截图示例: 示例代码: import java.io.File; public class Test4 { public static void main(String[] args) { getFileName(); } public static void getFileName() { String path = "...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,454
精华内容 25,781
关键字:

java循环文件夹的所有子文件夹的目录

java 订阅