Heim  >  Artikel  >  Java  >  Java implementiert den Empfang von Dateipfaden über die Tastatur und das hierarchische Drucken von Datei- oder Ordnernamen

Java implementiert den Empfang von Dateipfaden über die Tastatur und das hierarchische Drucken von Datei- oder Ordnernamen

王林
王林nach vorne
2019-11-30 13:50:413641Durchsuche

Java implementiert den Empfang von Dateipfaden über die Tastatur und das hierarchische Drucken von Datei- oder Ordnernamen

1. Implementierungseffekt

Anforderungen: Erhalten Sie einen Ordnerpfad über die Tastatur und drucken Sie alle Dateien und Ordnernamen im Ordner hierarchisch aus.

Zum Beispiel: Drucken Sie alle Dateien im Ordner und die Namen der Ordner hierarchisch.

2. Implementieren Sie die Logik

Rufen Sie alle Dateien und Ordner ab, geben Sie das Dateiarray zurück und durchlaufen Sie das Array, es muss direkt gedruckt werden ist ein Ordner, rufen Sie ihn rekursiv auf.

Verwandte Video-Tutorial-Freigabe: Java-Kurs

3. Implementierungscode

aaa ist ein Ordner, der bbb.txt, ccc.txt, Dateien wie ddd.txt haben Ordner wie eee. In eee gibt es fff.txt und ggg.txt, und die Ebenen werden ausgedruckt.

Zum Beispiel:

Java implementiert den Empfang von Dateipfaden über die Tastatur und das hierarchische Drucken von Datei- oder Ordnernamen

Der Code lautet wie folgt:

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);
 
            }
 
        }
 
    }
 
}

Weitere Tutorials zu verwandten Artikeln finden Sie unter: Einführung zur Java-Sprache

Das obige ist der detaillierte Inhalt vonJava implementiert den Empfang von Dateipfaden über die Tastatur und das hierarchische Drucken von Datei- oder Ordnernamen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen