发表于: 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,看基础
遇到的问题
收获
评论