From 8dcfc16dd225192b17376912e7da6e8a066fbd10 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sun, 14 Jun 2015 18:42:47 +0200 Subject: Use bufio --- htmlfilter.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/htmlfilter.go b/htmlfilter.go index dff1188..134c533 100644 --- a/htmlfilter.go +++ b/htmlfilter.go @@ -3,6 +3,7 @@ package main import ( + "bufio" "fmt" "io" "os" @@ -11,7 +12,7 @@ import ( ) func main() { - var unxmlreader io.Reader + var unxmlreader *bufio.Reader f, err := os.Open(os.Args[1]) if err != nil { @@ -46,26 +47,25 @@ func main() { //} //unxmlreader = unxml.NewReaderKeepElements(f, make([]string, 0)) - unxmlreader = unxml.NewReaderKeepElements(f, []string{"div", "p"}) - bufno := 0 + unxmlreader = bufio.NewReaderSize(unxml.NewReaderKeepElements(f, []string{"div", "p"}), 4096) + lineno := 0 - bbuffer := make([]byte, 4096) + //bbuffer := make([]byte, 4096) //bbuffer := make([]byte, 100) - var n int for { - n, err = unxmlreader.Read(bbuffer) + s, err := unxmlreader.ReadString(byte('\n')) if err != nil { if err == io.EOF { - fmt.Printf("%s", bbuffer[:n]) + fmt.Printf("%s", s) break } - fmt.Printf("Error while reading file at line nr. %d: %v\n", bufno, err) + fmt.Printf("Error while reading file at line nr. %d: %v\n", lineno, err) break } - bufno++ + lineno++ //fmt.Printf("Buffer nbr. %d: %s\n", lineno, bbuffer[:n]) - fmt.Printf("%s", bbuffer[:n]) + fmt.Printf("%s", s) } } -- cgit v1.2.1-18-gbd029