Often, file sizes are too big to back them up or share them with someone. You can create a compressed version that will save you disk space, transfer time, etc.
Java provides you with a zip package that can be handy here:
import java.util.zip.GZIPOutputStream;
import java.io.*;
public class CreateGZIP
{
public static void main(String args[]) {
CreateGZIP createGZIP = new CreateGZIP();
createGZIP.proceed();
}
private void proceed(){
String fileToBeCompressed = "/home/mypc/CreateGZIP.java";
String compressedFileName = "/home/mypc/CompressedFile.gz";
byte[] buffer = new byte[1024];
int bufferLength;
try{
//Creating the needed streams for the input and output
FileInputStream fileInputStream = new FileInputStream(fileToBeCompressed);
FileOutputStream fileOutputStream = new FileOutputStream(compressedFileName);
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(fileOutputStream);
while((bufferLength = fileInputStream.read(buffer)) != -1){
gZIPOutputStream.write(buffer, 0, bufferLength);
}
//Closing all the streams used
fileInputStream.close();
//fileOutputStream.close();
gZIPOutputStream.finish();
gZIPOutputStream.close();
System.out.println("File " + fileToBeCompressed + " is compressed as " + compressedFileName);
}
catch(IOException ioe){
System.out.println("IOException: " + ioe);
}
}
}
/*
Expected output:
[root@mypc]# java CreateGZIP
File /home/mypc/CreateGZIP.java is compressed as /home/mypc/CompressedFile.gz
*/