/** 输入文件或目录,若为文件打印其路径和名字,

* 若为目录,可选文件后缀名,若不选,则打印其下所有文件,

* 若选择后缀名,则打印其下所有匹配后缀名的文件

*

*

* mist lee,2014-11-29*/

importjava.io.File;importjava.io.FilenameFilter;importjava.io.IOException;importjava.util.Scanner;public classDisplayFileState

{private static boolean flag = false;public static void main(String[] args) throwsIOException

{//String fileName = rawInput();

Scanner in = newScanner(System.in);

System.out.print("请输入文件或者目录路径:");

String fileName=in.nextLine();

File f= newFile(fileName);if(f.isFile())

{

System.out.println("所输入的路径是文件");

System.out.println(f.getCanonicalPath());

}else if(f.isDirectory())

{

System.out.println("所输入的路径是目录");

System.out.println("请输入要查找文件的后缀名,若为空则显示所有文件");

String ext=in.nextLine();

System.out.println("您要查找的文件的后缀名是:" +ext);

spreadFileDir(f,ext);

}else{

System.out.println("输入有误,请确认后重新输入!");

}if(flag)

System.out.println("没能找到你所需要的文件");

}//展开目录文件

private static void spreadFileDir(File f, String ext) throwsIOException

{

String[] fileNames=f.list();//boolean flag = false;

for(int i=0;i

{

File subFile= newFile(f.getPath(),fileNames[i]);if(subFile.isFile())

{if(ext.equals(" "))

System.out.println(subFile.getCanonicalPath());else{

ExtensionFilter extFilter= newExtensionFilter(ext);boolean isTrue =extFilter.accept(f, fileNames[i]);if(isTrue)

System.out.println(subFile.getCanonicalPath());elseflag= true;//flag = isTrue^false;

}

}else if(subFile.isDirectory())

{

spreadFileDir(subFile,ext);

}else{

System.out.println("something is worong!");

}

}

}

}//辅助过滤类,用以处理文件的后缀名

class ExtensionFilter implementsFilenameFilter

{publicExtensionFilter(String ext)

{

extension= "." +ext;

}

@Overridepublic booleanaccept(File dir, String name) {//TODO Auto-generated method stub

returnname.endsWith(extension);

}privateString extension;

}

java输出文件目录_Java实现打印文件路径和展示文件目录相关推荐

  1. java linux 当前路径_Java,Linux文件路径

    斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 在Unix/Linux中,路径的分隔采用正斜"/",比 ...

  2. java 获取当前目录_java获得当前文件路径

    第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...

  3. java输出钻石_Java程序打印钻石形状

    可以通过先打印三角形再打印倒三角形来打印菱形.一个例子如下:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  ...

  4. java输出梯形_java怎么打印等腰梯形

    西兰花伟大炮 var arrorigin = new Array(); arrorigin[0] = [0,0,0,0,1,1,1,0,0,0,0]; arrorigin[1] = [0,0,0,1, ...

  5. Java中“/”,“.”所代表的文件路径

    转载自  Java中"/","."所代表的文件路径 我们在开发的过程中,经常会去读.写文件.在读写文件的时候,就不得不写文件的路径,使用相对路径的方式有两种:& ...

  6. java获得当前路径_JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址...

    在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext().getRealP ...

  7. java中file路径_Java中的文件路径

    Java中的文件路径 今天一定在这里解决这个问题,通过路径读文件一般就3种方式,但他们完全不同: 1. File myFile=new File("myfile.txt"); 上面 ...

  8. java当中如何修改路径_Java 中 更改文件路径

    java 中更改文件路径可以用file.renameTo 方法 public static void moveDataFile2Reject() throws Exception { try { // ...

  9. java linux路径_Java,Linux文件路径

    斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 在Unix/Linux中,路径的分隔采用正斜"/",比 ...

最新文章

  1. 只有变强大,才能照亮他人
  2. 北京科技大学智能视觉参赛队伍 - 对于比赛总结
  3. GitHub高赞,针对小白的算法训练仓库
  4. 解决centos ping不通外网
  5. 云南初中生计算机相关赛事,第14届中国大学生计算机设计大赛云南赛区决赛举行...
  6. NVIDIA 发布 60 余项 CUDA-X 库更新,加速量子计算和 6G 研究等
  7. mysql 代码结构_MySQL代码执行结构
  8. 深入浅出 Java Concurrency - 目录 [转]
  9. 数据库截取字段 转换成int型函数
  10. ToDesk安全流畅远控软件!
  11. [图文]Chrome四步下载斗鱼视频(直播回放)视频
  12. linux tar 绝对路径,tar打包使用绝对路径详解
  13. 视频教程-H3C-H3CNE 华三网络工程师从入门到精通 自学视频课程[肖哥]-H3C认证
  14. 套接字Socket的常见面试题及答案
  15. 你知道PDF拆分合并怎么弄吗?两个方法帮你轻松搞定!
  16. java学习之htlm总结
  17. Anaconda与ROS共存
  18. vga转html电脑打不开,VGA转HDMI转换器解决电脑连接投影仪的问题
  19. 服务器提取数据库信息,服务器自动提取数据库
  20. 项目管理工具之甘特图

热门文章

  1. Expect语法和应用
  2. Android TabLayout自定义指示器之三角形效果实现
  3. SDOI2017 数字表格
  4. SSM框架入门知识点跟学雷神视频笔记
  5. shineblink TCS34725传感器测量颜色,色温以及光强度
  6. 集众家之所长,手把手教你如何在Ubuntu18.04上安装CUDA10.0+CUDNN7.5+Torch7(非Pytorch)(保姆级教学)
  7. 【笔记】《Java编程思想(第四版)》第9章-接口
  8. 四川大学锦江学院c语言试题,2021年四川大学锦江学院单招语文考试模拟试题库...
  9. java学徒 套路,解决问题的一般套路
  10. Git怎么操作 一文学会使用Git (比视频还详细)