Home >Java >javaTutorial >Java and Linux script operations: how to compress and decompress files
Java and Linux script operations: file compression and decompression
Overview:
File compression and decompression are things we often encounter in daily computer operations task. Whether in Java programs or scripts in Linux environments, file compression and decompression are very common requirements. In this article, we will introduce how to use Java and Linux scripts to implement file compression and decompression operations, and give specific code examples.
1. Java implements file compression and decompression:
Java provides a series of classes and methods for file compression and decompression. The following is a sample code for file compression and decompression using Java:
import java.io.*; import java.util.zip.*; public class FileCompression { public static void compress(File source, File destination) throws IOException { FileInputStream fis = new FileInputStream(source); FileOutputStream fos = new FileOutputStream(destination); ZipOutputStream zos = new ZipOutputStream(fos); zos.putNextEntry(new ZipEntry(source.getName())); byte[] buffer = new byte[1024]; int length; while ((length = fis.read(buffer)) > 0) { zos.write(buffer, 0, length); } zos.closeEntry(); zos.close(); fis.close(); fos.close(); } public static void main(String[] args) { File source = new File("path/to/source/file"); File destination = new File("path/to/destination/file.zip"); try { compress(source, destination); System.out.println("File compression completed successfully."); } catch (IOException e) { e.printStackTrace(); } } }
import java.io.*; import java.util.zip.*; public class FileDecompression { public static void decompress(File source, File destination) throws IOException { FileInputStream fis = new FileInputStream(source); ZipInputStream zis = new ZipInputStream(fis); FileOutputStream fos = new FileOutputStream(destination); ZipEntry entry = zis.getNextEntry(); byte[] buffer = new byte[1024]; int length; while ((length = zis.read(buffer)) > 0) { fos.write(buffer, 0, length); } zis.closeEntry(); zis.close(); fis.close(); fos.close(); } public static void main(String[] args) { File source = new File("path/to/source/file.zip"); File destination = new File("path/to/destination/file"); try { decompress(source, destination); System.out.println("File decompression completed successfully."); } catch (IOException e) { e.printStackTrace(); } } }
2. Linux script to realize file compression and decompression:
In Linux environment, we can use shell script to realize file compression and decompression. The following is a sample code for file compression and decompression using a Linux shell script:
#!/bin/bash source="path/to/source/file" destination="path/to/destination/file.tar.gz" tar -czf $destination $source echo "File compression completed successfully."
#!/bin/bash source="path/to/source/file.tar.gz" destination="path/to/destination/file" tar -xzf $source -C $destination echo "File decompression completed successfully."
It should be noted that in Linux, we use the tar command to compress and decompress files. The -c parameter indicates creation (tar up a file or directory), the -z parameter indicates compression (gzip), the -x parameter indicates decompression (extract files from an archive), and the -f parameter indicates files.
Summary:
This article briefly introduces how to use Java and Linux scripts to implement file compression and decompression operations, and gives specific code examples. Through these sample codes, I hope readers can better understand how to use Java and Linux scripts to handle file compression and decompression needs in actual projects. Of course, this is just a basic sample code, and other issues such as exception handling may need to be considered in actual applications. If necessary, readers can further modify and improve the code according to their actual situation.
The above is the detailed content of Java and Linux script operations: how to compress and decompress files. For more information, please follow other related articles on the PHP Chinese website!