遍歷目錄下的文件

java遍歷特定目錄結構,用遞歸。linux。


import java.io.File;
import java.io.*;
import java.lang.*;
import java.util.*;
public class javatest{
    public static void traverse(File file){
    if(!file.isDirectory()){// file process
        System.out.println("    "+file.getName());
        String fileName=file.getName();
        String fileAbsolutePath=file.getAbsolutePath();
//        System.out.println(fileName);
        
    }
    else{//directory process
        File[]fs=file.listFiles();
        System.out.println("In directory "+file.getAbsolutePath());
        for(int i=0;i<fs.length;i++){
            File f=fs[i];
            traverse(f);
        }    
    }
    }
    public static void main(String[]args){
    File dir=new File("/home/sunny/programs/aa");
    traverse(dir);
}
}


javac編譯,java運行


[[[shell版]]]

#!/bin/bash
#################################
# USAGE: trav [directory]
# If directory is not given, it will begin with the current directory
#
#################################
[ $# -eq 0 ]&& directorys=`pwd`||directorys=$@
echo "In directory $directorys :"
traverse()
{
    for element in "$1"/*;do
#    echo "$element"
    if [ -f "$element" ]
    then
    echo "    $element"
    
    elif [ -d "$element" ]
    then
    echo " In directory $element:"
    traverse "$element"
    else
    echo "    new last    $element"
    fi
    done
}
traverse $directorys

保存成trav,賦權限,chmod u+x trav,運行./trav dir。如果不指定入口目錄,則會遍歷trav所在目錄。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章