复习笔记 [第四季]9.显示磁盘下文件和目录信息(2017-07-10 11:22) 1.获取文件和文件名 ①new一个File,文件目录是e盘下所有文件.存放到file中. ②用listFiiles方法获取file中所有文件的集合,存放到数组files中. ③用for语句,条件是在files中的所有file.循环体中运用判断语句.如果是文件的话就打印”O”并加上文件路径(用.getPath方法). 2.递归的方法 ①String一个pat,选择一个文件相对比较少的,我选择了eclipse64的所在文件. ②接下来写一个函数静态的,无返回值的show. 传进来的是String path. 根据path new一个File.存放在f里 根据f,使用listFiles方法将f里面所有的文件取出.存放在名为files数组中. for循环,循环条件是在files中的所有File. 循环条件是如果是file,则打印路径(用toUpperCase方法将路径大写).endwith(“.TXT”),那么打印文件路径(.getPath) 否则的话就把路径(.getPath)再传到show里面. 这里遇到了问题, 主要是if的语句遇到了问题 但是调试好了,这里想到一句话,没有程序是调试不出来的.
if (f.isFile()) { if(f.getPath().toUpperCase().endsWith(".TXT")) { System.out.println(f.getPath()); } }else { show(f.getPath()); }//我吧else写到里面那个判断去了案例2:显示某个盘下所有文件的名称
package javastudy; import java.io.File; public class Test { public static void main(String[] args) { //***********1.显示所有的文件和文件名************** File file=new File("e:\\"); File[] files=file.listFiles(); // // for(int i=0;i<file.length();i++) // { // // } for(File f:files) { if(f.isDirectory()) { System.out.print("O"); }else { System.out.print("X"); } System.out.println("\t"+f.getPath()); } } }输出结果如下: O e:$RECYCLE.BIN X e:\111.xlsx O e:\2016office O e:\360Downloads O e:\64位开发平台 X e:\64位开发平台.zip O e:\BXMIS X e:\config.ini O e:\eclipse64 O e:\MATLAB O e:\Program Files O e:\Program Files (x86) O e:\QQMusicCache O e:\su O e:\System Volume Information O e:\Users O e:\XSBDownload O e:\Youku Files O e:\汪佳移交文件 O e:\迅雷下载
案例3:找出某个盘符洗啊所有拓展名为txt的文件,并显示出来
递归算法:函数自己调用自己
package javastudy; import java.io.File; public class Test { public static void main(String[] args) { //***********1.显示所有的文件和文件名************** String path="E:\\eclipse64\\"; show(path); } static void show(String path) { //显示哪个目录不能让我们读取的 // System.out.println("当前正在处理"+path+"..."); if(path.endsWith("System Volume Information")) { return; } File f=new File(path); File[] files=f.listFiles(); for(File file:files) { if(file.isFile()) { if(file.getPath().toUpperCase().endsWith(".TXT")) { System.out.println(file.getPath()); } }else//是目录 { show(file.getPath()); } } } }