Golang program to change the buffer writer size

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

How to change the buffer writer size in Golang?

Problem Solution:

In this program, we will change the buffer writer size and print size of the buffer-writer on the console screen.

Program/Source Code:

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

Golang code to change the buffer writer size

// Golang program to change the buffer
// writer size

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)

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

	bufferedWriter = bufio.NewWriterSize(bufferedWriter, 6800)

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

	filePtr.Close()
}

Output:

Default buffer size: 4096
New buffer size: 6800

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 get the default buffer writer size and then change the buffer writer size using NewWriterSize() function. After that, we printed the new size on the console screen.

Golang Buffered I/O Programs »





Comments and Discussions!

Load comments ↻





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