再帰コール:フォルダを巡回


この問題は面接でもよくあると思います.再帰呼び出しを使って、ディレクトリの下のフォルダとファイルを巡ります.次は簡単なコードです.参考を歓迎します.

public class TestFile {
	

	public void getFiles(String path){
		File file = new File(path);
		File[] files = file.listFiles();
		for(File f: files){
			String fName = f.getName();
			if(!f.isFile()){
				System.out.println(f.getParent()+"\\"+fName);
				String newPath = f.getAbsolutePath();//      
				getFiles(newPath);
			}else{
				System.out.println(f.getParent()+"\\"+fName);
			}
		}
	}
	public static void main(String[] args) {
		//      
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);
		String path;
		try {
			path = br.readLine();

			new TestFile().getFiles(path);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}

一部の人に役に立つことを望んでいます.