发表于: 2017-09-12 23:54:09

1 689


今天完成的任务

学习了I/O


学习了对文件夹的遍历


    File f = new File("c:\\windows");//在windows这个文件夹中
   File[] fs = f.listFiles();//把文件夹的所有文件放到一个集合
   if(null==fs)
return;
   long minSize = Integer.MAX_VALUE;//int的最大值
   long maxSize = 0;
   File minFile = null;
   File maxFile = null;

   //设置4个变量
   for (File file : fs) {//遍历数组fs
       if(file.isDirectory())//如果是文件夹
           continue;//结束本次循环
       if(file.length()>maxSize){//如果文件夹的文件大小大于maxsize
           maxSize = file.length();//替换
           maxFile = file;
       }
if(file.length()!=0 && file.length()<minSize){//如果文件夹的文件不等于0,且小于int的字节
           minSize = file.length();//替换
           minFile = file;
       }
}
System.out.printf("最大的文件是%s,其大小是%,d字节%n",maxFile.getAbsoluteFile(),maxFile.length());
   System.out.printf("最小的文件是%s,其大小是%,d字节%n",minFile.getAbsoluteFile(),minFile.length());

}



首先创建四个变量


   long minSize = Integer.MAX_VALUE;//int的最大值
   long maxSize = 0;
   File minFile = null;
   File maxFile = null;

Integer.MAX_VALUE 是取的int的最大值


File f = new File("c:\\windows");//在windows这个文件夹中
File[] fs = f.listFiles();//把文件夹的所有文件放到一个集合

首先通过listFiles获取文件夹的所有目录,并把它们放在一个File的数组里


   for (File file : fs) {//遍历数组fs
       if(file.isDirectory())//如果是文件夹
           continue;//结束本次循环
       if(file.length()>maxSize){//如果文件夹的文件大小大于maxsize
           maxSize = file.length();//替换
           maxFile = file;
       }
if(file.length()!=0 && file.length()<minSize){//如果文件夹的文件不等于0,且小于int的字节
           minSize = file.length();//替换
           minFile = file;
       }
}

接着遍历数组,如果是文件夹就跳出本次循环,如果是文件,就通过length来返回文件的大小,根据条件进行替换





 FileOutputStream fos = new FileOutputStream(f);可以在目录中创建一个文件

File f1 =new File("G:/iotest");实际上只是对文件的映射,并不会创建文件




明天要做的事

接着学习i/o,看基础


遇到的问题



收获



返回列表 返回列表
评论

    分享到