Golang program to reset the buffer writer

Here, we are going to learn how to reset the buffer writer in Golang (Go Language)?
Submitted by Nidhi, on April 08, 2021 [Last updated : March 04, 2023]

How to reset the buffer writer in Golang?

Problem Solution:

In this program, we will reset the buffer writer and made it available to use with the help of the Reset() function.

Program/Source Code:

The source code to reset the buffer writer is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

Golang code to reset the buffer writer

// Golang program to reset the buffer writer

package main

import "fmt"
import "os"
import "bufio"

func main() {
	filePtr, err := os.OpenFile("Demo.txt", os.O_WRONLY, 0666)

	if err != nil {
		fmt.Println(err)
	}

	//Create a buffer writter using file pointer.
	bufferedWriter := bufio.NewWriter(filePtr)

	len, err := bufferedWriter.WriteString("Hello World\n")
	if err != nil {
		fmt.Println(err)
	}
	fmt.Printf("%d bytes written into file\n", len)

	AvailableBuffer := bufferedWriter.Available()
	if err != nil {
		fmt.Println(err)
	}
	fmt.Printf("Available buffer size: %d\n", AvailableBuffer)
	bufferedWriter.Flush()

	//Reset buffer writer and make available.
	bufferedWriter.Reset(bufferedWriter)

	AvailableBuffer = bufferedWriter.Available()
	if err != nil {
		fmt.Println(err)
	}
	fmt.Printf("Available buffer size: %d\n", AvailableBuffer)

	filePtr.Close()
}

Output:

12 bytes written into file
Available buffer size: 4084
Available buffer size: 4096

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt, os packages then we can use a function related to the fmt and os package.

Here, we also imported the bufio package to use buffer writer to write data into a file.

In the main() function, we opened the "Demo.txt" file and then created a buffer-writer using bufio.NewWriter() function. Then we got the available buffer size using the Available() function. After that, we reset the buffer writer. Then we printed a new available size on the console screen.

Golang Buffered I/O Programs »






Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.