代碼實現:從鍵盤輸入接收一個文件夾路徑,打印出該文件夾下所有的.java文件名


package com.loaderman.test;

import java.io.File;
import java.io.FileReader;
import java.util.Scanner;

public class Test {

	/**
	 * 需求:從鍵盤輸入接收一個文件夾路徑,打印出該文件夾下所有的.java文件名
	 * 分析:
	 * 從鍵盤接收一個文件夾路徑
	 * 1,如果錄入的是不存在,給與提示
	 * 2,如果錄入的是文件路徑,給與提示
	 * 3,如果是文件夾路徑,直接返回
	 * 打印出該文件夾下所有的.java文件名
	 * 1,獲取到該文件夾路徑下的所有的文件和文件夾,存儲在File數組中
	 * 2,遍歷數組,對每一個文件或文件夾做判斷
	 * 3,如果是文件,並且后綴是.java的,就打印
	 * 4,如果是文件夾,就遞歸調用
	 */
	public static void main(String[] args) {
		File dir = getDir();
		printJavaFile(dir);
	}
	/*
	 * 獲取鍵盤錄入的文件夾路徑
	 * 1,返回值類型File
	 * 2,不需要有參數
	 */
	public static File getDir() {
		Scanner sc = new Scanner(System.in);				//創建鍵盤錄入對象
		System.out.println("請輸入一個文件夾路徑");
		while(true) {
			String line = sc.nextLine();					//將鍵盤錄入的文件夾路徑存儲
			File dir = new File(line);						//封裝成File對象
			if(!dir.exists()) {
				System.out.println("您錄入的文件夾路徑不存在,請重新錄入");
			}else if(dir.isFile()) {
				System.out.println("您錄入的是文件路徑,請重新錄入文件夾路徑");
			}else {
				return dir;
			}
		}
	}
	/*
	 * 獲取文件夾路徑下的所.java文件
	 * 1,返回值類型 void
	 * 2,參數列表File dir
	 */
	public static void printJavaFile(File dir) {
		//1,獲取到該文件夾路徑下的所有的文件和文件夾,存儲在File數組中
		File[] subFiles = dir.listFiles();
		//2,遍歷數組,對每一個文件或文件夾做判斷
		for (File subFile : subFiles) {
			//3,如果是文件,並且后綴是.java的,就打印
			if(subFile.isFile() && subFile.getName().endsWith(".java")) {
				System.out.println(subFile);
			//4,如果是文件夾,就遞歸調用
			}else if (subFile.isDirectory()){
				printJavaFile(subFile);
			}
		}
	}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM