opening a file by name

Part of Golang Mastery course

~15 min read
Interactive
Hands-on
Beginner-friendly
  • File access is a very common operation used to store or read the data. This recipe illustrates how to open a file by its name and path, using the standard library.

Create the directory temp and create the file file.txt in it.#

Edit the file.txt file and write This file content into the file.

Create the openfile.go file with the following content:#

package main import ( "fmt" "io" "io/ioutil" "os" ) func main() { f, err := os.Open("temp/file.txt") if err != nil { panic(err) } c, err := ioutil.ReadAll(f) if err != nil { panic(err) } fmt.Printf("### File content ###\n%s\n", string(c)) f.Close() f, err = os.OpenFile("temp/test.txt", os.O_CREATE|os.O_RDWR, os.ModePerm) if err != nil { panic(err) } io.WriteString(f, "Test string") f.Close() }

output:

sangam:golang-daily sangam$ go run openfile.go ### File content ### This file content sangam:golang-daily sangam$

See the output there should also be a new file, test.txt, in the temp folder:

How it works...#

  • The os package offers a simple way of opening the file. The function Open opens the file by the path, just in read-only mode. Another function, OpenFile, is the more powerful one and consumes the path to the file, flags, and permissions.

  • The flag constants are defined in the os package and you can combine them with use of the binary OR operator |. The permissions are set by the os package constants (for example, os.ModePerm ) or by the number notation such as 0777 (permissions: -rwxrwxrwx).

Your Progress

81 of 103 modules
79%
Started79% Complete
Previous
SpaceComplete
Next