1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:04:44 -07:00

add new function io.ReadAll

R=gri
DELTA=14  (6 added, 4 deleted, 4 changed)
OCL=30072
CL=30074
This commit is contained in:
Russ Cox 2009-06-08 17:22:28 -07:00
parent 34038e7368
commit 0f62ac42a4

View File

@ -11,17 +11,19 @@ import (
"os"; "os";
) )
// ReadAll reads from r until an error or EOF and returns the data it read.
func ReadAll(r Reader) ([]byte, os.Error) {
var buf ByteBuffer;
n, err := io.Copy(r, &buf);
return buf.Data(), err;
}
// ReadFile reads the file named by filename and returns // ReadFile reads the file named by filename and returns the contents.
// its contents if successful.
//
func ReadFile(filename string) ([]byte, os.Error) { func ReadFile(filename string) ([]byte, os.Error) {
f, err := os.Open(filename, os.O_RDONLY, 0); f, err := os.Open(filename, os.O_RDONLY, 0);
if err != nil { if err != nil {
return nil, err; return nil, err;
} }
var b io.ByteBuffer; defer f.Close();
_, err := io.Copy(f, &b); return ReadAll(f);
f.Close();
return b.Data(), err;
} }