zoukankan      html  css  js  c++  java
  • seek指针大文件上传

    package main

    import (
        // "bufio"
        "fmt"
        "github.com/axgle/mahonia"
        // "log"
        "bytes"
        "os"
        "strings"
    )

    func main() {
        file, err := os.Open("hu.txt")
        defer file.Close()
        //得出文件大小
        files, _ := file.Stat()
        fileSize := files.Size()
        //7,815,168
        fmt.Println(fileSize, "fileSize")
        size := 1024 * 1024
        //循环次数
        num := (int(fileSize) + size - 1) / size
        //百分比进度条
        var list []string
        persentage := fmt.Sprintf("%.2f", 100/float64(num))
        fmt.Println(persentage, "persentage")
        fmt.Println(num)
        for i := 0; i < num; i++ {
            fmt.Println(i)
            buffer := make([]byte, 1024*1024)
            _, err = file.Read(buffer)
            if err != nil {
                fmt.Println(err)
                return
            }
            decoder := mahonia.NewDecoder("gb18030")
            if decoder == nil {
                fmt.Println("the code is not exist: ", err.Error())
                return
            }
            decodelist := decoder.ConvertString(string(buffer))
            liststring := strings.Split(decodelist, " ")
            length := len(liststring)
            ju := []byte(liststring[length-1])
            count := bytes.Count(ju, nil)

            list = liststring[:length-1]
            newposition, _ := file.Seek(-int64(count), 1)
            fmt.Println(newposition)
        }
        fmt.Println(list)

    }

  • 相关阅读:
    discuz_ucenter_api_for_java的中文问题
    java的编码问题详解
    java的泛型的技巧
    向maven中央仓库提交jar
    Java并发之FutureTask
    java并发之Semaphore
    centos中JDK版本冲突的问题
    C++中嵌入Python
    boost::python的使用
    c++调用python引号的问题
  • 原文地址:https://www.cnblogs.com/zhangym/p/6233637.html
Copyright © 2011-2022 走看看