显示某个目录下的所有文件和文件夹
2016-12-06 15:58
204 查看
计算机专业的校招面试非常经典的一道上机题,如何列出某个目录下所有的文件和文件夹。在目前的java版本中有两种实现方式。
第一种是最常见的,同时也是其他编程语言实现的套路,代码如下所示:
import java.io.*;
class DirectoryFileList
{
public static void main(String[] args)
{
File file = new File(".");
if(!file.exists())
{
System.out.println("directory is empty");
}
File[] fileList = file.listFiles();
for(int i=0; i<fileList.length; i++)
{
if(fileList[i].isDirectory())
{
System.out.println("directory is" + fileList[i].getName());
}
else
{
System.out.println("file is " + fileList[i].getName());
}
}
}
}运行结果如下所示:
第二种则采用java的文件过滤器,FilenameFilter接口中有一个accept(File dir, String name)的方法,该方法可以依次对指定文件或者目录进行迭代,代码如下所示:
import java.io.*;
class DirectoryFileListTest
{
public static void main(String[] args)
{
File file = new File(".");
String[] nameList = file.list((dir,name) -> name.endsWith(".java"));
for(String name : nameList)
{
System.out.println(name);
}
}
}运行结构如下:
通过上述的比较分析,效果很明显,直接使用java的FilenameFilter比较方便,而且中间还使用了lambda表达式以及函数式编程的思想,加入面试遇到这类题目,给出这种答案会给面试官一种不错的影响yao。
第一种是最常见的,同时也是其他编程语言实现的套路,代码如下所示:
import java.io.*;
class DirectoryFileList
{
public static void main(String[] args)
{
File file = new File(".");
if(!file.exists())
{
System.out.println("directory is empty");
}
File[] fileList = file.listFiles();
for(int i=0; i<fileList.length; i++)
{
if(fileList[i].isDirectory())
{
System.out.println("directory is" + fileList[i].getName());
}
else
{
System.out.println("file is " + fileList[i].getName());
}
}
}
}运行结果如下所示:
第二种则采用java的文件过滤器,FilenameFilter接口中有一个accept(File dir, String name)的方法,该方法可以依次对指定文件或者目录进行迭代,代码如下所示:
import java.io.*;
class DirectoryFileListTest
{
public static void main(String[] args)
{
File file = new File(".");
String[] nameList = file.list((dir,name) -> name.endsWith(".java"));
for(String name : nameList)
{
System.out.println(name);
}
}
}运行结构如下:
通过上述的比较分析,效果很明显,直接使用java的FilenameFilter比较方便,而且中间还使用了lambda表达式以及函数式编程的思想,加入面试遇到这类题目,给出这种答案会给面试官一种不错的影响yao。
相关文章推荐
- tomcat 访问文件夹地址时显示目录下所有文件或文件夹
- Linux学习5之shell显示当前目录下所有的文件和文件夹
- php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- 用TreeView显示某一文件夹下的所有目录和文件
- 遍历显示文件夹下所有目录、所有文件的函数,没有分页
- php 遍历显示文件夹下所有目录、所有文件的函数
- 在屏幕上显示C盘根目录下的所有文件和文件夹
- php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- 遍历显示文件夹下所有目录、所有文件的函数
- linux命令行下如何以目录树的形式显示一个文件夹的所有文件
- 通过文件夹选项设置不能显示所有文件
- “显示所有文件和文件夹“不能选中怎么办?
- 遍历目录及子目录列出所有文件和文件夹的代码
- "显示所有文件和文件夹"无论如何 无法被设置
- JS如何遍历一个文件夹下的所有文件与目录
- 打造最隐蔽的文件夹选项 显示所有文件
- 利用DataGrid显示某目录下的所有文件
- 利用DataGrid显示某目录下的所有文件
- treeview显示目录下文件和文件夹!
- "显示所有文件和文件夹"无论如何 无法被设置 caused by some files under the folder c:\windows\prefect\,