read.go 552 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package input
  2. import (
  3. "os"
  4. "io"
  5. "bufio"
  6. )
  7. func ReadAllRaw(f *os.File) ([]byte, error) {
  8. ret := make([]byte, 0)
  9. b := make([]byte, 512)
  10. for {
  11. n, e := f.Read(b)
  12. if n>0 {
  13. ret = append(ret, b[:n]...)
  14. }
  15. if e == io.EOF {
  16. break
  17. }else if e != nil {
  18. return nil, e
  19. }
  20. }
  21. return ret, nil
  22. }
  23. func ReadAllLines(f *os.File)( []string, error ){
  24. r := bufio.NewReader(f)
  25. a := make([]string, 0)
  26. for {
  27. l, e := r.ReadString('\n')
  28. if e==io.EOF {
  29. break
  30. }else if e != nil {
  31. return nil, e
  32. }
  33. a = append(a, l)
  34. }
  35. return a, nil
  36. }