Go Package os

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Reading and Writing an Entire File in/from Memory

Read with ReadFile()

To read the content of an entire file into a byte slice:

bs, err := os.ReadFile("/Users/ovidiu/tmp/test.txt")

os.ReadFile() closes the file after use.

Write with WriteFile()

To write in-memory data into a file:

s := "This\nis multi-line\nfile\ncontent\n"
err := os.WriteFile("/Users/ovidiu/tmp/test2.txt", []byte(s), 0777)

os.WriteFile() closes the file after use.

Sequentially Reading and Writing Byte Arrays

Move to File Operations in Go.

Reading

Open the file with os.Open() and then use file package file.Read() to read into a byte slice.

bs := make([]byte, 10)
f, err := os.Open("/Users/ovidiu/tmp/test.txt")
if err != nil {
  // ...
  f.Close()
  return
}
for {
  cnt, err := f.Read(bs)
  if err != nil {
    fmt.Println(err)
    f.Close()
    return
  }
  fmt.Println("read ", cnt, " bytes")
}

The file must be explicitly closed after use.

Writing

To write in-memory data into a file:

s := "This\nis multi-line\nfile\ncontent\n"
err := os.WriteFile("/Users/ovidiu/tmp/test2.txt", []byte(s), 0777)

The file must be explicitly closed after use.

TO DEPLETE

Functions

os.Open()

Works with files and directories.

os.Create()

os.File

os.File Methods

FileInfo

FileInfo Methods

  • Size()

os.Args

os.Args is a string slice that holds the command-line arguments, starting with the program name. For more details on how to use see:

Command Line Parsing