>  기사  >  Java  >  Java는 키보드에서 파일 경로를 수신하고 파일 또는 폴더 이름을 계층적으로 인쇄하는 기능을 구현합니다.

Java는 키보드에서 파일 경로를 수신하고 파일 또는 폴더 이름을 계층적으로 인쇄하는 기능을 구현합니다.

王林
王林앞으로
2019-11-30 13:50:413669검색

Java는 키보드에서 파일 경로를 수신하고 파일 또는 폴더 이름을 계층적으로 인쇄하는 기능을 구현합니다.

1. 효과를 얻으려면

요구 사항: 키보드에서 폴더 경로를 수신하고 폴더의 모든 파일과 폴더 이름을 계층적으로 인쇄합니다.

예: 폴더의 모든 파일과 폴더 이름을 계층적으로 인쇄합니다.

2. 로직 구현

모든 파일과 폴더를 가져와 파일 배열을 반환하고 배열을 순회합니다. 파일이든 폴더이든 직접 인쇄해야 합니다.

관련 영상 튜토리얼 공유 : java 강좌

3. 구현 코드

aaa는 bbb.txt, ccc.txt, ddd.txt 등의 파일이 들어있는 폴더이고, 거기에 fff.txt 및 ggg.txt이며 레벨을 인쇄합니다.

예:

Java는 키보드에서 파일 경로를 수신하고 파일 또는 폴더 이름을 계층적으로 인쇄하는 기능을 구현합니다.

코드는 다음과 같습니다.

public class Test4 {
    public static void main(String[] args) {
 
        File dir = getDir();                //获取文件夹路径
 
        printLev(dir,0);
 
    }
 
    /*
     * 从键盘接收一个文件夹路径
     * 1,返回值类型File
     * 2,参数列表无
     */
 
    public static File getDir() {
 
        //1,创建键盘录入对象
 
        Scanner sc = new Scanner(System.in);
 
        System.out.println("请输入一个文件夹路径:");
 
        //2,定义一个无限循环
 
        while(true) {
 
            //3,将键盘录入的结果存储并封装成File对象
 
            String line = sc.nextLine();
 
            File dir = new File(line);
 
            //4,对File对象判断
 
            if(!dir.exists()) {
 
                System.out.println("您录入的文件夹路径不存在,请输入一个文件夹路径:");
 
            }else if(dir.isFile()) {
 
                System.out.println("您录入的是文件路径,请输入一个文件夹路径:");
 
            }else {
 
                //5,将文件夹路径对象返回
 
                return dir;
 
            }
 
        }
    }

    public static void printLev(File dir,int lev) {
 
        //1,把文件夹中的所有文件以及文件夹的名字按层级打印
 
        File[] subFiles = dir.listFiles();
 
        //2,遍历数组
 
        for (File subFile : subFiles) {
 
            for(int i = 0; i <= lev; i++) {
 
                System.out.print("\t");
 
            }
 
            //3,无论是文件还是文件夹,都需要直接打印
 
            System.out.println(subFile);
 
            //4,如果是文件夹,递归调用
 
            if(subFile.isDirectory()) {
 
                //printLev(subFile,lev + 1);
 
                printLev(subFile,++lev);
 
            }
 
        }
 
    }
 
}

더 많은 관련 기사 튜토리얼을 보려면 다음을 방문하세요. Java 언어 시작하기

위 내용은 Java는 키보드에서 파일 경로를 수신하고 파일 또는 폴더 이름을 계층적으로 인쇄하는 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제