Java遍历列出某一目录下的文件及文件夹,寻找某一指定文件

原创 2015年07月06日 20:34:27
import java.io.File;
import java.util.Scanner;


/*
 * 递归列出指定目录下的所有文件及文件夹
 */
class NotDirException extends Exception{	
}
public class Main1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		try{
			String str=sc.nextLine();
			if(!(new File(str)).isDirectory()){
				throw new NotDirException();
			}
			System.out.println(new File(str));
			File findFile=listAllDir(new File(str), 0,"翻墙.txt");
			System.out.println("--------------------------");
			System.out.println("寻找到的文件目录是"+findFile);
		}catch(NotDirException e){
			e.printStackTrace();
			System.out.println("输入的不是一个路径");
		}
	}
	
	public static File listAllDir(File file,int flag,String name){
		String str=".";
		for(int i=0;i<flag;i++)
			str+=".";
		if(file.isFile()){
			if(file.getName().equals(name))
				return file;
			System.out.println(str+file);
		}else{
				try{
					File[] temp=file.listFiles();
					for (int i = 0; i < temp.length; i++) {
						if(temp[i].getName().equals(name))
							return temp[i];
						System.out.println(str+temp[i]);
						if(!temp[i].isFile())
							listAllDir(temp[i], flag+1,name);
					}
				}catch(NullPointerException e){
					e.printStackTrace();
					System.out.println("寻找到某些非正常文件");
				}
		}
		return null;
	}
}
//代码在找到指定文件后,return返回不再遍历。如果有多个相同文件存在,则只能找到第一个。可以修改使用File数组,找到多个文件存放。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【Linux】遍历某一目录,判断文件与文件夹,main参数

LINUX下遍历目录的核心头文件是#include ,方法一般是这样的:打开目录->读取->关闭目录。相关函数有:DIR *opendir(const char *dirname);struct di...

C++递归遍历获取某一目录下文件md5值

md5.h#ifndef _MD5_H #define _MD5_H/* MD5 Class. */ class MD5_CTX { public: MD5_CTX(); virtua...

Android 遍历删除SD卡中某一文件夹下的指定子文件夹及其子文件

/** * 遍历删除SD卡中某一文件夹下的指定子文件夹及其子文件 */ private String filePath = Environment.getExternalStorageD...

递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件

package com.hudong.test; import java.io.File; import java.io.IOException; import java.util.Arra...

Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?

import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo...

java遍历文件夹并复制文件到指定目录

转载:http://www.open-open.com/home/space-2869-do-blog-id-5781.html   package com.czp; import java...

java遍历文件夹并复制文件到指定目录

package com.czp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)