Maison > Java > javaDidacticiel > Comment générer un fichier .tar à partir d'une image en Java

Comment générer un fichier .tar à partir d'une image en Java

angryTom
Libérer: 2020-02-26 17:00:18
original
3210 Les gens l'ont consulté

Comment générer un fichier .tar à partir d'une image en Java

Comment Java génère-t-il un fichier .tar à partir d'une image au format tar, nous définissons ci-dessous une méthode tarCompression(String[] filesPathArray, String resultFilePath) pour implémenter cette fonction. .

(Partage de didacticiels vidéo associés :

tutoriel vidéo Java

)

1. Implémenter 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;
}
Copier après la connexion
2. Utilisez la méthode tarCompression définie pour compresser l'image afin de générer un fichier .tar.

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

Site Web PHP chinois, un grand nombre de
cours d'apprentissage de la programmation

gratuits, bienvenue pour apprendre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal