Home >Java >javaTutorial >Java and Linux script operations: how to compress and decompress files

Java and Linux script operations: how to compress and decompress files

王林
王林Original
2023-10-05 17:54:211138browse

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:

  1. File compression:
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();
        }
    }
}
  1. File decompression:
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:

  1. File compression:
#!/bin/bash

source="path/to/source/file"
destination="path/to/destination/file.tar.gz"

tar -czf $destination $source

echo "File compression completed successfully."
  1. File decompression:
#!/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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn