github.com/paketo-buildpacks/packit@v1.3.2-0.20211206231111-86b75c657449/internal/file_writer.go (about)

     1  package internal
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  )
     7  
     8  type FileWriter struct{}
     9  
    10  func NewFileWriter() FileWriter {
    11  	return FileWriter{}
    12  }
    13  
    14  func (fw FileWriter) Write(path string, reader io.Reader) error {
    15  	file, err := os.Create(path)
    16  	if err != nil {
    17  		return err
    18  	}
    19  	defer file.Close()
    20  
    21  	_, err = io.Copy(file, reader)
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	return nil
    27  }