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数组,找到多个文件存放。

java遍历目录下的包括子目录下的所有文件

在java中遍历一个文件夹里边的所有文件,可以有两种方式:       一、递归遍历,通常也是开发者第一时间能想到的方法,递归遍历的优点是:实现起来相对简单,代码量相对较少,执行效率较高,缺点是:比较...
  • zhihaoma
  • zhihaoma
  • 2015年11月25日 23:13
  • 4594

Java遍历一个目录下的所有文件

Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其他流类不同的是,流类关心的是文件的内容,而File类关心的是磁盘上文件的存储。     一,File类有多个构...
  • u013457382
  • u013457382
  • 2016年03月30日 18:13
  • 10345

java遍历删除指定文件夹下面的相同格式或指定格式的file文件

在程序员编写代码的过程中,可能会遇到需要删除一个文件夹下的某种格式类型的所有文件,比如doc、docx、 MP4、avi等格式文件。    所以,简单提供一下思路和代码,已经有好思路和代码的程序员可忽...
  • alan_liuyue
  • alan_liuyue
  • 2017年04月05日 18:58
  • 1227

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

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

C++遍历文件夹及判断某一文件或目录是否存在

C++遍历文件夹的代码如下:                      Cpp代码   #include      #include      #include   ...
  • stormbjm
  • stormbjm
  • 2014年08月20日 12:54
  • 1359

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

md5.h#ifndef _MD5_H #define _MD5_H/* MD5 Class. */ class MD5_CTX { public: MD5_CTX(); virtua...
  • ChinaWallace
  • ChinaWallace
  • 2016年12月09日 14:51
  • 845

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

/** * 遍历删除SD卡中某一文件夹下的指定子文件夹及其子文件 */ private String filePath = Environment.getExternalStorageD...
  • wupuquan
  • wupuquan
  • 2013年10月07日 00:11
  • 3915

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

package com.hudong.test; import java.io.File; import java.io.IOException; import java.util.Arra...
  • tianyazaiheruan
  • tianyazaiheruan
  • 2013年08月15日 09:40
  • 2016

读取某一目录下(包括子目录)所有mp3、wma、m4a格式文件,制作成m3u列表(Java, Windows)

把以前别人写过的程序改了改,
  • lutianhan
  • lutianhan
  • 2014年09月15日 19:28
  • 1106

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

import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo...
  • gchichafengyun
  • gchichafengyun
  • 2013年09月13日 20:22
  • 878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java遍历列出某一目录下的文件及文件夹,寻找某一指定文件
举报原因:
原因补充:

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