hudson.util
Class CompressedFile

java.lang.Object
  extended by hudson.util.CompressedFile

public class CompressedFile
extends Object

Represents write-once read-many file that can be optiionally compressed to save disk space. This is used for console output and other bulky data.

In this class, the data on the disk can be one of two states:

  1. Uncompressed, in which case the original data is available in the specified file name.
  2. Compressed, in which case the gzip-compressed data is available in the specifiled file name + ".gz" extension.
Once the file is written and completed, it can be compressed asynchronously by compress().

Author:
Kohsuke Kawaguchi

Constructor Summary
CompressedFile(File file)
           
 
Method Summary
 void compress()
          Asynchronously schedules the compression of this file.
 String loadAsString()
          Loads the file content as a string.
 InputStream read()
          Reads the contents of a file.
 OutputStream write()
          Gets the OutputStream to write to the file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompressedFile

public CompressedFile(File file)
Method Detail

write

public OutputStream write()
                   throws FileNotFoundException
Gets the OutputStream to write to the file.

Throws:
FileNotFoundException

read

public InputStream read()
                 throws IOException
Reads the contents of a file.

Throws:
IOException

loadAsString

public String loadAsString()
                    throws IOException
Loads the file content as a string.

Throws:
IOException

compress

public void compress()
Asynchronously schedules the compression of this file.

Once the file is compressed, the original will be removed and the further reading will be done from the compressed stream.



Copyright © 2004-2013. All Rights Reserved.