mirror of
https://github.com/avelino/awesome-go.git
synced 2024-11-14 16:42:23 +00:00
42 lines
654 B
Go
42 lines
654 B
Go
package main
|
||
|
||
import (
|
||
"io"
|
||
"log"
|
||
"os"
|
||
)
|
||
|
||
func main() {
|
||
|
||
/*
|
||
Dosya Kopyalama (Copy a file)
|
||
*/
|
||
|
||
originalFile, err := os.Open("demo.txt")
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
defer originalFile.Close()
|
||
|
||
// Yeni bir dosya oluştur
|
||
newFile, err := os.Create("demo_copy.txt")
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
defer newFile.Close()
|
||
|
||
// Byte'ları kaynaktan hedefe Kopyalama
|
||
bytesWritten, err := io.Copy(newFile, originalFile)
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
log.Printf("Copied %d bytes.", bytesWritten)
|
||
|
||
// Dosya içeriğini işle(commit)
|
||
// Belleği diske boşalt(flush)
|
||
err = newFile.Sync()
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
}
|