向压缩文件中写入和读出文件内容示例

在java中,如何将压缩文件中的内容读取和向压缩文件中写入内容呢,下面是相关代码:

先看如何从文本文件中读入代码

private String readFile(String fileName) {
    StringBuilder sb = new StringBuilder();
    try {
        BufferedReader input = new BufferedReader(new FileReader(new File(fileName)));
    try 
{
        String  line=null;
         while ((line==input.readLine()!=null)
           {
               sb.append(line);

           } 
          } finally {
            input.close();
        }
    } catch (IOException ex) {
        // Handle exception
        return null;
    }

    return sb.toString();





  从gzip中读取内容:
  

private String readCompressedFile(String fileName) {
    try {
        GZIPInputStream gis = new GZIPInputStream(new FileInputStream(fileName));
        ByteArrayOutputStream fos = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = gis.read(buffer)) != -1) {
            fos.write(buffer, 0, len);
        }
        fos.close();
        gis.close();
        return new String(fos.toByteArray());
    } catch (IOException ex) {
        // Handle exception
        return null;
    }
}



向gzip中写内容:
   

private void writeCompressedFile(String fileName, String value) {
    try {
        InputStream is = new ByteArrayInputStream(value.getBytes());
     GZIPOutputStream gzipOS = new GZIPOutputStream(new FileOutputStream(fileName));
      byte[] buffer = new byte[1024];
        int len;
      while ((len = is.read(buffer)) != -1) {

      gzipOS.write(buffer,0,len);

    }
 gzipOS.close();
        is.close();
    } catch (IOException ex) {
        // Handle exception
    }

你可能感兴趣的:(java)