ADVERTISEMENT
ADVERTISEMENT

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

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 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 »



ADVERTISEMENT




ADVERTISEMENT


Comments and Discussions!

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.