`

compress | decompress| read | write file and decode | encode

阅读更多
public static File compressFile(byte[] buff, String fileName)
    {
        if (buff == null || fileName == null)
            return null;
        
        try
        {
            
            File zipFile = new File(fileName+".gz");

            GZIPOutputStream os = new GZIPOutputStream(new FileOutputStream(zipFile));
            
            BufferedInputStream is = new BufferedInputStream(new ByteArrayInputStream(buff));
            int count;
            byte data[] = new byte[1024];
            while ((count = is.read(data, 0, 1024)) != -1)
            {
                os.write(data, 0, count);
            }
            is.close();
            os.close();
            
            return zipFile;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
        return null;
    }
    
    public static byte[] decompressFile(File zipFile)
    {
        if (!zipFile.exists())
            return null;
        
        try
        {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            GZIPInputStream is = new GZIPInputStream(new FileInputStream(zipFile));
            
            int count;
            byte data[] = new byte[1024];
            while ((count = is.read(data, 0, 1024)) != -1)
            {
                baos.write(data, 0, count);
            }
            is.close();
            
            byte[] buff = baos.toByteArray();
            
            baos.close();
            
            return buff;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
        return null;
    }
    
    public static String getBase64(String str)
    {
        if (str == null)
            return null;
        
        try
        {
            return BASE64_ENCODER.encode(str.getBytes("UTF-8"));
        }
        catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }
        return null;
    }

    
    public static String reverseFromBase64(String base64Str)
    {
        if (base64Str == null)
            return null;
        
        try
        {
            return new String(BASE64_DECODER.decodeBuffer(base64Str),"UTF-8");
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        
        return null;
    }
   
    // store  an object to the file of the disk 
    public static void storeToDisk(Serializable object, File file)
    {
        java.io.ObjectOutputStream outputStream;
        try
        {
            if (!file.getParentFile().exists())
                file.getParentFile().mkdirs();
            
            outputStream = new java.io.ObjectOutputStream(
                            new java.io.FileOutputStream(file));
            outputStream.writeObject(object);
            outputStream.close();
        }
        catch (FileNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
      // get an object from the file of the disk 
    public static Serializable getObjectFromDisk(File file)
    {
        java.io.ObjectInputStream inputStream;
        try
        {
            inputStream = new java.io.ObjectInputStream(
                            new java.io.FileInputStream(file));
            Object obj = inputStream.readObject();
            inputStream.close();
            return (Serializable) obj;
        }
        catch (FileNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (ClassNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * Write the context into the given file.
     * 
     * @param context
     *            The context.
     * @param theFileName
     *            The file name to write to.
     * @throws IOException
     *             Exception when create the file.
     */
    public static void writeToFile(String context, String theFileName)
                    throws IOException
    {

        if (theFileName != null && !"".equals(theFileName.trim()))
        {
            createFilePath(theFileName);
            BufferedWriter aWriter = new BufferedWriter(new FileWriter(
                            theFileName));
            aWriter.write(context);
            aWriter.close();
        }
        else
        {
            throw new IllegalArgumentException("Invalid file name!");
        }
    }

    public static void createFilePath(String fileName)
    {
        createFilePath(new File(fileName));
    }
    
    public static void createFilePath(File file)
    {
        if (!file.getParentFile().exists())
        {
            file.getParentFile().mkdirs();
        }
            
    }


 
0
0
分享到:
评论

相关推荐

    7Zip lzma LZ4 fastlz and Zip Multiplatform Plugin v2.7.5

    This is a shared library for Android, iOS, OSX, Windows, Linux and webGL to decompress 7z (7zip) files and to compress/decompress zip/gzip (.zip/.gz), LZ4 (.lz4), brotli (.br), fastLZ files and ...

    Python-Python包用于将数字序列压缩成字符串

    compressed_data = zlib.compress(number_str.encode()) # 使用base64编码压缩后的数据 encoded_data = base64.b64encode(compressed_data) return encoded_data.decode() def decompress_string(encoded_str):...

    Python库 | pylzma-0.4.4-py2.3-win32.egg

    `pylzma.file_compress()`和`pylzma.file_decompress()`函数可以方便地对文件进行LZMA压缩和解压缩操作,无需先将整个文件加载到内存。 4. **兼容性**:尽管此版本的`pylzma`是针对Python 2.3和Windows 32位系统的...

    python字符串压缩.pdf

    在使用`zlib`时,我们需要先将字符串转换为字节对象(`encode('utf-8')`),解压后再转换回字符串(`decode('utf-8')`)。 2. **gzip库**: - `gzip`库主要用于处理GZIP格式的压缩文件,它同样基于`DEFLATE`算法。...

    Python-gzipencoding实例如何压缩HTTP请求发送到web服务并处理

    compressed_data = gzip.compress(json.dumps(data).encode('utf-8')) headers = {'Content-Type': 'application/json', 'Content-Encoding': 'gzip'} response = requests.post('...

    g711player源码.zip

    这个过程在源码中可能由一个名为`encode`或`compress`的函数实现。 2. **编码算法**:μ-law和A-law编码算法有所不同,但都包括线性到非线性映射的过程。μ-law编码通过公式`y = sign(x) * log(1 + |x|/μ) / log(1...

    LZW的压缩与解压缩算法的PHP实现.zip

    - 可能还会有其他辅助函数,如`buildDictionary()`用于初始化字典,`encodeString()`和`decodeString()`分别用于编码和解码字符串。 `123-568`和`G2`这两个文件名可能代表了使用LZW算法处理过的数据文件,可能是...

    G.711Filter Encoder demo

    - `A_Law_Decompress`和`Mu_Law_Decompress`: 对应量化函数的逆操作,即反量化。 通过阅读和分析G711EFilter源代码,我们可以更好地理解G.711编码算法的实际实现,从而有助于优化音频处理系统,提升语音通信的质量...

    lz4-master.zip

    2. **API接口**:LZ4的Go库提供了几个关键函数,如`Encode`用于压缩数据,`Decode`用于解压缩数据。这些函数通常接受字节切片作为输入,并返回压缩或解压缩后的字节切片。例如: ```go import ( "github....

    LZW压缩算法

    - `compress()`: 主压缩函数,调用其他辅助函数处理输入数据。 - `decompress()`: 主解压缩函数,恢复原始数据。 - `find_match()`: 在字典中查找匹配的序列。 - `add_to_dict()`: 添加新的字典条目。 - `encode()`:...

    cpp-LZFSE压缩库和命令行工具

    2. **压缩操作**:调用`lzfse_encode_buffer`函数压缩数据,该函数接受原始数据缓冲区、目标缓冲区以及它们的大小作为参数。 3. **解压缩操作**:对应地,使用`lzfse_decode_buffer`函数进行解压缩,同样需要原始的...

    中移动平台组VUE开发规范

    - **压缩/解压**:`compress`、`decompress` - **打包/解包**:`pack`、`unpack` - **解析/生成**:`parse`、`emit` - **连接/断开**:`connect`、`disconnect` - **发送/接收**:`send`、`receive` - **下载/上传**...

    python standerd labrary中文版

    - 方法如`zlib.compress()`, `zlib.decompress()`等。 - **code模块** - 提供交互式解释器会话。 - 类如`code.InteractiveInterpreter`。 #### 四、线程和进程 - **threading模块** - 提供线程管理功能。 - 类...

Global site tag (gtag.js) - Google Analytics