2014-01-15 2 views
0

에 입력하지 않고 디렉토리를 반복하는 나는 다음과 같은 디렉터리 구조를 가질 :어떻게 말할 수 하위 디렉토리

나는 단지 RootDir(SubDir1, Subdir2, Subdir3, file3, file 4)의 내용을 반복하고 그것이 디렉토리 나 파일인지 확인 할
RootDir 
---SubDir1 
------SubSubDir 
---------file1 
---------file2 
---SubDir2 
---SubDir3 
---file3 
---file4 

, 서브 디렉토리에 들어 가지 않고 filepath.Walk처럼.

Go 라이브러리에서이를 수행 할 수있는 방법이 있습니까?

편집 : 그래서 여기

files, err := os.Open("c:\\Documents") 
file, err := files.Readdir(0) 

if err != nil { 
    fmt.Printf("Error: %s\n", err) 
} 

for f := range file { 
    fmt.Println(f.IsDir()) 
} 

나는 조각입니다에서는 FileInfo를, 여물 반복하고 디렉토리 인 경우 모든 파일에 대해 확인하려고하지만, 난 항상이 오류를 얻을 :

f.IsDir undefined (type int has no field or method IsDir) 

답변

2

당신은 os.Open 및 반환 *os.File로를 열어 디렉토리를 읽을 수는 직접 폴더 내용에 대한 os.FileInfo의를 제공하는 Readdir() 방법을 가지고 있으며, 이러한 FileInfo는이방법.

+0

나를 위해 FileInfo가 int처럼 취급되는 이유를 알고 있습니까? (int 형은 필드 나 메서드가없는 IsDir입니다) – Kobe

+0

코드를 보지 않고 무엇이 잘못되었는지를 말하기가 어렵습니다 .... – Volker

+0

관련 코드로 질문을 업데이트했습니다. – Kobe

관련 문제