(入门)用JAVA,Python实现文件查看器
本小白最近做某赛模拟题顺带学习下java语言(顺带写了个Python的)
编程要求
编写代码实现对给定文件夹目录结构的展示,如果是文件夹则在其名字之前加上+ --若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:
- dir:指定要显示的文件夹
部分代码如下
// An highlighted block
public class Task {
private static void getFile(File file,int deep){
File[] array = file.listFiles();//将file下的文件目录存入array
for(int i=0;i<array.length;i++)
{
if(array[i].isFile())
{
for (int j = 0; j < deep; j++)//输出空格
System.out.print(" ");
System.out.println( "--"+array[i].getName());//输入空格与文件名
}
else if(array[i].isDirectory())
{
for (int j = 0; j < deep; j++)//输出空格
System.out.print(" ");
System.out.println( "+--"+array[i].getName());//输入空格与文件夹名
getFile(array[i],deep+1); //递归深度遍历
}
}
}
public void showDirStructure(File file) {
int deep = 1;//设置深度
System.out.println( "+--"+file.getName());
getFile(file,deep);
}
}
这里有个用了很简单的一个dfs将每个文件夹搜索到底然后就是很规矩的打印文件名了。因为是初学java这个getfile方法还是参照了csdn的大大写的方法。
顺便又写了个python的,如下
class Task:
def showDirTree(self, path):
print("+--" + os.path.basename(path))
showTree(path, " ")
def showTree(path, interval):
listdir = os.listdir(path)
for file in listdir:
if not (os.path.isdir(path + "/" + file)):
print(interval + "--" + file)
else:
print(interval + "+--" + file)
showTree((path + "/" + file), interval + " ")