Heim  >  Artikel  >  Java  >  So generieren Sie eine .tar-Datei aus einem Bild in Java

So generieren Sie eine .tar-Datei aus einem Bild in Java

angryTom
angryTomOriginal
2020-02-17 16:01:333158Durchsuche

So generieren Sie eine .tar-Datei aus einem Bild in Java

Wie generiert Java eine .tar-Datei aus einem Bild?

.tar ist ein Suffix eines Komprimierungsformats, das Sie auch verwenden können Java, um Dateien in das TAR-Format zu komprimieren. Im Folgenden definieren wir eine tarCompression(String[] filesPathArray, String resultFilePath)-Methode, um diese Funktion zu implementieren.

(Weitergabe verwandter Video-Tutorials: Java-Video-Tutorial)

1. Implementieren Sie tarCompression(String[] filesPathArray, String resultFilePath)

/* tar打包压缩
 * @param filesPathArray 要压缩的文件的全路径(数组)
 * @param resultFilePath 压缩后的文件全文件名(.tar)
 * @throws Exception
 */
public static boolean tarCompression(String[] filesPathArray, String resultFilePath) throws Exception {
    System.out.println(" tarCompression -> Compression start!");
    FileOutputStream fos = null;
    TarArchiveOutputStream taos = null;
    try {
        fos = new FileOutputStream(new File(resultFilePath));
        taos = new TarArchiveOutputStream(fos);
        for (String filePath : filesPathArray) {
            BufferedInputStream bis = null;
            FileInputStream fis = null;
            try {
                File file = new File(filePath);
                TarArchiveEntry tae = new TarArchiveEntry(file);
                // 此处指明 每一个被压缩文件的名字,以便于解压时TarArchiveEntry的getName()方法获取到的直接就是这里指定的文件名
                // 以(左边的)GBK编码将file.getName()“打碎”为序列,再“组装”序列为(右边的)GBK编码的字符串
                tae.setName(new String(file.getName().getBytes("GBK"), "GBK"));
                taos.putArchiveEntry(tae);
                fis = new FileInputStream(file);
                bis = new BufferedInputStream(fis);
                int count;
                byte data[] = new byte[1024];
                while ((count = bis.read(data, 0, 1024)) != -1) {
                    taos.write(data, 0, count);
                }
            } finally {
                taos.closeArchiveEntry();
                if (bis != null) 
                    bis.close();
                if (fis != null) 
                    fis.close();
            }
        } 
    } finally {
        if (taos != null) 
            taos.close();
        if (fos != null) 
            fos.close();
        
    }
    System.out.println(" tarCompression -> Compression end!");
    return true;
}

2. Verwenden Sie die definierte tarCompression-Methode, um das Bild zu komprimieren, um eine .tar-Datei zu generieren.

public static void main(String[] args) {   
    tarCompression(new String["a.png", "b.png"], "e:\test.tar")
}

PHP chinesische Website, eine große Anzahl kostenloser Programmierlernkurse, willkommen zum Lernen.

Das obige ist der detaillierte Inhalt vonSo generieren Sie eine .tar-Datei aus einem Bild in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn