本文整理匯總了Golang中compress/flate.Writer.Write方法的典型用法代碼示例。如果您正苦於以下問題:Golang Writer.Write方法的具體用法?Golang Writer.Write怎麽用?Golang Writer.Write使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類compress/flate.Writer
的用法示例。
在下文中一共展示了Writer.Write方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Zip
func Zip(unBytes []byte, contentEncoding string) (zipBytes []byte, err error) {
switch contentEncoding {
case "":
zipBytes = unBytes
break
case "gzip":
var bf bytes.Buffer
gw := gzip.NewWriter(&bf)
gw.Write(unBytes)
gw.Close()
zipBytes = bf.Bytes()
case "deflate":
var bf bytes.Buffer
var gw *flate.Writer
gw, err = flate.NewWriter(&bf, -1)
if err != nil {
return
}
gw.Write(unBytes)
gw.Close()
zipBytes = bf.Bytes()
default:
err = fmt.Errorf("Zip Unkown Content-Encoding: %v", contentEncoding)
}
return
}
示例2: Compress
func (self *FlateCompressor) Compress(src []byte) ([]byte, error) {
var err error
var compressor *flate.Writer
cdest := bytes.NewBuffer(make([]byte, 0, len(src)))
if self.dict == nil {
compressor, err = flate.NewWriter(cdest, self.level)
} else {
compressor, err = flate.NewWriterDict(cdest, self.level, self.dict)
}
//compressor.Reset(cdest)
compressor.Write(src)
err = compressor.Close()
if err != nil {
fmt.Println("Compress Close err:%s", err.Error())
}
return cdest.Bytes(), err
}
示例3: readFile
func readFile(filePath string) (string, error) {
var buf []byte
var err error
var n int
var writer *flate.Writer
var encoder io.WriteCloser
var file *os.File
var data *bytes.Buffer = new(bytes.Buffer)
if file, err = os.Open(filePath); err != nil {
return "", err
}
defer file.Close()
encoder = ascii85.NewEncoder(data)
defer encoder.Close()
writer, err = flate.NewWriter(encoder, flate.BestCompression)
defer writer.Close()
buf = make([]byte, 8192)
err = nil
for {
if n, err = file.Read(buf); err != nil {
if err == io.EOF {
break
} else {
return "", err
}
}
if n == 8192 {
_, err = writer.Write(buf)
} else {
_, err = writer.Write(buf[:n])
}
if err != nil {
return "", err
}
}
if err = writer.Flush(); err != nil {
return "", err
}
return strconv.Quote(string(data.Bytes())), nil
}
示例4: deflate
func (e *Engine) deflate() error {
var buf bytes.Buffer
var level int
var err error
level, err = e.stack.PopInt()
if err == nil {
var w *flate.Writer
w, err = flate.NewWriter(&buf, level)
if err == nil {
_, err = w.Write(e.stack.Pop())
w.Close()
}
}
if err == nil {
e.stack.Push(buf.Bytes())
}
return err
}