Golang ProgramsGolang Programs

Example: ReadAll, ReadDir, and ReadFile from IO Package

ReadAll reads from r until an error or EOF and returns the data it read. A successful call returns err == nil, not err == EOF.
ReadDir reads the directory named by dirname and returns a list of directory entries sorted by filename.
ReadFile reads the file named by filename and returns the contents. A successful call returns err == nil, not err == EOF.
***** Create a text file input.txt and write the content which you want to read in same directory in which you will run below program *****
package main

import (
	"io/ioutil"
	"log"
	"fmt"
	"os"
)

func exampleReadAll() {
	file, err := os.Open("input.txt")	
	if err != nil {
		log.Panicf("failed reading file: %s", err)
	}
	defer file.Close()
	data, err := ioutil.ReadAll(file)
	fmt.Printf("\nLength: %d bytes", len(data))
	fmt.Printf("\nData: %s", data)
	fmt.Printf("\nError: %v", err)
}

func exampleReadDir() {
	entries, err := ioutil.ReadDir(".")
	if err != nil {
		log.Panicf("failed reading directory: %s", err)
	}	
	fmt.Printf("\nNumber of files in current directory: %d", len(entries))	
	fmt.Printf("\nError: %v", err)
}

func exampleReadFile() {
	data, err := ioutil.ReadFile("input.txt")
	if err != nil {
		log.Panicf("failed reading data from file: %s", err)
	}
	fmt.Printf("\nLength: %d bytes", len(data))
	fmt.Printf("\nData: %s", data)
	fmt.Printf("\nError: %v", err)
}

func main() {
	fmt.Printf("########Demo of ReadAll function#########\n")
	exampleReadAll()
	
	fmt.Printf("\n\n########Demo of ReadDir function#########\n")
	exampleReadDir()
	
	fmt.Printf("\n\n########Demo of ReadFile function#########\n")
	exampleReadFile()
}
C:\golang\codes>go run example14.go
########Demo of ReadAll function#########

Length: 15 bytes
Data: Golang Programs
Error:

########Demo of ReadDir function#########

Number of files in current directory: 14
Error:

########Demo of ReadFile function#########

Length: 15 bytes
Data: Golang Programs
Error:
C:\golang\codes>