题目: 目录和文件是磁盘树形结构中最基本的组成单元, Java用File类来统一表示它们,并通过File类来完成目录和文件的创建、删除、查询等操作。 手工创建d:\test文件夹,编写一个Java程序,遍历“d:\test”文件夹, 如果文件夹为空,则创建一个新文件a.txt,并把此文件的名称打印出来; 如果文件夹不为空,那么将该文件夹下的文件和目录遍历以后,按照目录和文件类型, 分类把目录名称和文件名称打印出来。 //判断并打印需要涉及递归 import java.io.*; public class mylistFiles { public static void main(String[] args) throws IOException { File file = new File("d:\\test"); File[] list = file.listFiles(); if(list.length==0) { //注意:条件不可写为:list==null File files = new File(file, "a.txt"); files.createNewFile(); System.out.println(files); }else { getAllFile(file); } } //遍历打印非空文件 public static void getAllFile(File dir) { File[] files = dir.listFiles(); //遍历File目录 for(File f: files) { //如果存在子文件,递归 if(f.isDirectory()) { getAllFile(f); }else { //s.toLowerCase() 把字符串转换为小写,保证.JAVA结尾的文件也输出 String s = f.toString(); s = s.toLowerCase(); //调用String类中的方法endsWith判断字符串是否是以.java结尾 //endsWith() 方法用于测试字符串是否以指定的后缀结束。 boolean b = s.endsWith(".java"); boolean t = s.endsWith(".txt"); if(b) { System.out.println(".java结尾的文件:"+f); } if(t) { System.out.println(".txt结尾的文件"+f); } } } } }