Files and Directories
Directory Entries
os.ReadDir lists entries inside a directory.
Directory Entries
directory_entries.go
package main
import (
"fmt"
"os"
"strings"
)
func main() {
var extraName =
dirName := "go09_entries"
names := []string{"alpha.txt", extraName}
err := os.MkdirAll(dirName, 0755)
if err != nil {
fmt.Println("createdDir=", false)
return
}
defer os.RemoveAll(dirName)
for _, name := range names {
path := dirName + "/" + name
os.WriteFile(path, []byte(name), 0644)
}
entries, err := os.ReadDir(dirName)
if err != nil {
fmt.Println("listed=", false)
return
}
entryNames := make([]string, 0, len(entries))
for _, entry := range entries {
entryNames = append(entryNames, entry.Name())
}
joined := strings.Join(entryNames, "/")
fmt.Println("dir=", dirName)
fmt.Println("count=", len(entryNames))
fmt.Println("entries=", joined)
}
package main
import (
"fmt"
"os"
"strings"
)
func main() {
var extraName =
dirName := "go09_entries"
names := []string{"alpha.txt", extraName}
err := os.MkdirAll(dirName, 0755)
if err != nil {
fmt.Println("createdDir=", false)
return
}
defer os.RemoveAll(dirName)
for _, name := range names {
path := dirName + "/" + name
os.WriteFile(path, []byte(name), 0644)
}
entries, err := os.ReadDir(dirName)
if err != nil {
fmt.Println("listed=", false)
return
}
entryNames := make([]string, 0, len(entries))
for _, entry := range entries {
entryNames = append(entryNames, entry.Name())
}
joined := strings.Join(entryNames, "/")
fmt.Println("dir=", dirName)
fmt.Println("count=", len(entryNames))
fmt.Println("entries=", joined)
}
package main
import (
"fmt"
"os"
"strings"
)
func main() {
var extraName =
dirName := "go09_entries"
names := []string{"alpha.txt", extraName}
err := os.MkdirAll(dirName, 0755)
if err != nil {
fmt.Println("createdDir=", false)
return
}
defer os.RemoveAll(dirName)
for _, name := range names {
path := dirName + "/" + name
os.WriteFile(path, []byte(name), 0644)
}
entries, err := os.ReadDir(dirName)
if err != nil {
fmt.Println("listed=", false)
return
}
entryNames := make([]string, 0, len(entries))
for _, entry := range entries {
entryNames = append(entryNames, entry.Name())
}
joined := strings.Join(entryNames, "/")
fmt.Println("dir=", dirName)
fmt.Println("count=", len(entryNames))
fmt.Println("entries=", joined)
}
directory entries
Directory entries describe files or folders by name and type without reading file contents.