func NewDir(path string) (d *Dir, err error) {
	d = &Dir{
		Path:  path,
		Dirs:  make(map[string]*Dir),
		Files: make(map[string]*File),
	}
	err = d.Read()
	return
}
// NewDir creates a Dir from the specified path, recursively
NewDir creates a Dir from the specified path, recursively
// NewDir creates a Dir from the specified path recursively
func NewDir(path string) (d *Dir, err error) {
	d = &Dir{
		Path:  path,
		Dirs:  make(map[string]*Dir),
		Files: make(map[string]*File),
	}
	err = d.Read()
	return
}
func NewDir ( path string ) ( d * Dir , err error ) { d = & Dir { Path : path , Dirs : make ( map [ string ] * Dir ) , Files : make ( map [ string ] * File ) , } err = d . Read ( ) return }
NewDir creates a Dir from the specified path, recursively
NewDir creates a Dir from the specified path recursively