Chinaunix首页 | 论坛 | 博客
  • 博客访问: 334287
  • 博文数量: 214
  • 博客积分: 4258
  • 博客等级: 上校
  • 技术积分: 2021
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-02 09:16
个人简介

http://blog.csdn.net/ly21st http://ly21st.blog.chinaunix.net

文章分类

全部博文(214)

文章存档

2018年(16)

2015年(1)

2014年(2)

2012年(22)

2011年(173)

分类: C/C++

2018-01-25 20:54:56

文件复制,分别采用不带缓冲和带缓冲的方式编写。

点击(此处)折叠或打开

  1. // file_io project main.go
  2. /*
  3. package main

  4. import (
  5.     "fmt"
  6.     "log"
  7.     "os"
  8. )

  9. func main() {
  10.     fmt.Println("Hello World!")
  11.     file, err := os.Open("E:/go_data/test.py")
  12.     if err != nil {
  13.         fmt.Printf("open test.py err.\n")
  14.         log.Fatal(err)
  15.     }

  16.     file_out, err := os.Create("e:/go_data/test2.py")
  17.     if err != nil {
  18.         fmt.Printf("open test2.py err.\n")
  19.         log.Fatal(err)
  20.     }

  21.     data := make([]byte, 100)
  22.     var count int
  23.     var n int
  24.     for {
  25.         count, err = file.Read(data)
  26.         fmt.Printf("count=%v\n", count)
  27.         if err != nil {
  28.             break
  29.         }
  30.         n, err = file_out.Write(data[0:count])
  31.         fmt.Printf("n=%v\n", n)
  32.         if err != nil {
  33.             break
  34.         }
  35.     }
  36.     file.Close()
  37.     file_out.Close()
  38. }
  39. */

  40. /*
  41. package main

  42. import (
  43.     "bufio"
  44.     "fmt"
  45.     "log"
  46.     "os"
  47. )

  48. func main() {
  49.     fmt.Println("Hello World!")
  50.     file, err := os.Open("E:/go_data/test.py")
  51.     if err != nil {
  52.         fmt.Printf("open test.py err.\n")
  53.         log.Fatal(err)
  54.     }

  55.     file_out, err := os.Create("e:/go_data/test2.py")
  56.     if err != nil {
  57.         fmt.Printf("open test2.py err.\n")
  58.         log.Fatal(err)
  59.     }

  60.     data := make([]byte, 100)
  61.     var count int
  62.     var n int
  63.     var reader *bufio.Reader
  64.     var writer *bufio.Writer

  65.     reader = bufio.NewReaderSize(file, 1024)
  66.     writer = bufio.NewWriterSize(file_out, 1024)

  67.     for {

  68.         count, err = reader.Read(data)
  69.         fmt.Printf("count=%v\n", count)
  70.         if err != nil {
  71.             fmt.Printf("err=%v\n", err)
  72.             break
  73.         }

  74.         n, err = writer.Write(data[0:count])
  75.         fmt.Printf("n=%v\n", n)
  76.         if err != nil {
  77.             fmt.Printf("err=%v\n", err)
  78.             break
  79.         }

  80.     }

  81.     writer.Flush()
  82.     file.Close()
  83.     file_out.Close()
  84. }
  85. */

  86. package main

  87. import (
  88.     "bufio"
  89.     "fmt"
  90.     "log"
  91.     "os"
  92. )

  93. func main() {
  94.     fmt.Println("Hello World!")
  95.     file, err := os.Open("E:/go_data/test.py")
  96.     if err != nil {
  97.         fmt.Printf("open test.py err.\n")
  98.         log.Fatal(err)
  99.     }

  100.     file_out, err := os.Create("e:/go_data/test2.py")
  101.     if err != nil {
  102.         fmt.Printf("open test2.py err.\n")
  103.         log.Fatal(err)
  104.     }

  105.     var reader *bufio.Reader
  106.     var writer *bufio.Writer

  107.     reader = bufio.NewReaderSize(file, 1024)
  108.     writer = bufio.NewWriterSize(file_out, 1024)

  109.     reader.WriteTo(writer)
  110.     writer.Flush()
  111.     file.Close()
  112.     file_out.Close()
  113. }


阅读(355) | 评论(0) | 转发(0) |
1

上一篇:linux下安装pylibmc

下一篇:解析命令行参数

给主人留下些什么吧!~~