遍历文件夹

简介: 遍历文件夹

1 问题

一般操作系统都会装在C盘,所以会有一个C:\WINDOWS目录,遍历这个目录下所有的文件(不用遍历子目录),并找出这些文件里,最大的和最小(非0)的那个文件打印出他们的文件名。


2 方法

2.1通过将给定的路径名字符串创建新的File实例。

2.2将子文件转化成数组,设置最大文件长度和最小文件长度属性。

2.3 for循环遍历文件夹,第一个判断如果文件长度大于max,就把最大文件和最大文件长度替换;第二个判断如果文件的长度小于min且大于0,就把最小文件和最小文件长度替换。

2.4打印文件地址。

2.5 判断文件夹转化为数组类型后是否为空指针。

package IO;
import java.io.File;
public class fc{
   public static void main(String[] args) {
       File fc=new File("c:/windows");
       new fc().wjdx(fc);
   }
   public void wjdx(File wj)
   {
       File[] c=wj.listFiles();//将子文件转化成数组
       int t1=0,t2=0;
       long max=0;
       long min=Long.MAX_VALUE;
       for(int i=0;i<c.length;i++)
       {
           if(c[i].length()>max)
           {max=c[i].length();t1=i;}
           if(c[i].length()<min&&c[i].length()>0)
           {min=c[i].length();t2=i;}
       }
       System.out.println("目前地址为"+c[t1].getParent());
       System.out.println("最大的文件地址为"+c[t1]+"\t大小为"+c[t1].length()+"字节");
       System.out.println("最小的文件地址为"+c[t2]+"\t大小为"+c[t2].length()+"字节");
       for(int i=0;i<c.length;i++)
       {
           if(!c[i].isDirectory()||c[i].listFiles()==null||(c[i].listFiles()).length==0) continue;//判断
           wjdx(c[i]);
       }
   }
}

3 结语

针对Java中的遍历文件夹问题,提出使用for循环遍历的方法,通过实验证明该方法是有效的,本文需要注意的是将文件夹的内容转化为文件数组类型后,数组可能是长度可能是0或是空指针,直接使用可能导致数组越界异常,需判断后使用。

目录
相关文章
|
3月前
|
存储 Unix Python
shutil:更优雅地拷贝文件
shutil:更优雅地拷贝文件
57 0
|
Java
遍历目录文件
遍历目录文件
58 0
C#遍历文件夹
C#遍历文件夹
125 0
递归遍历目录下面指定的文件名
递归遍历目录下面指定的文件名
os模块下 getcwd()、chidr()、mkdir()、makedirs()、listdir() 等函数用法介绍
os.getcwd() cwd 全称为 Current Working Directory(CWD) ,即为当前工作路径;os.getcwd() 函数返回的就是当前工作路径
|
Python
【Python标准库:fileinput】优雅的读取文件
每当我写个脚本涉及文件输入时,一般写法都是下面这种 import sys file_in = sys.argv[1] for line in open(file_in, 'r'): commands 这个操作有一个缺点就是,如果我想从管道里面传入数据给Python的话,就会报错,因为原代码要求文件而不是标准输入。
1353 0
|
数据库 Windows Python
glob 文件路径查找
glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”, “?”, “[]”。”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。
1344 0
下一篇
DataWorks