十三、通信

从文件读取(无缓冲)

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "os"
 6 )
 7 
 8 func main() {
 9     buf := make([]byte, 1024)
10     //打开文件
11     f, _ := os.Open("D:/123.txt")
12     //确保关闭了f
13     defer f.Close()
14     for {
15         n, _ := f.Read(buf)
16         fmt.Println(n)
17         if n == 0 {
18             break
19         }
20         os.Stdout.Write(buf[:n])
21     }
22 }

结果:

8


133535350

从文件读取(有缓冲的)

 1 package main
 2 
 3 import (
 4     "bufio"
 5     "fmt"
 6     "os"
 7 )
 8 
 9 func main() {
10     buf := make([]byte, 1024)
11     //打开文件
12     f, _ := os.Open("D:/123.txt")
13     //确保关闭了f
14     defer f.Close()
15     //转换f为有缓冲的Reader
16     r := bufio.NewReader(f)
17     w := bufio.NewWriter(os.Stdout)
18     defer w.Flush()
19     for {
20         //从Reader读取,而向Writer写入
21         n, _ := r.Read(buf)
22         fmt.Println(n)
23         if n == 0 {
24             break
25         }
26         w.Write(buf[0:n])
27     }
28 }

結果:

8


0


13353535

執行外部程序

 1 package main
 2 
 3 import (
 4     "os/exec"
 5 )
 6 
 7 func main() {
 8     cmd := exec.Command("D:/1.exe")
 9     cmd.Run()
10 }

 

posted on 2013-02-03 09:58  liubiaoren  阅读(153)  评论(0)    收藏  举报