Как упаковать и распаковать arj архивы в java?

Пользователь

от urban_will , в категории: Java , 8 месяцев назад

Как упаковать и распаковать arj архивы в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jamey.kohler , 8 месяцев назад

@urban_will 

Для упаковки и распаковки arj архивов в Java можно использовать стороннюю библиотеку, такую как Apache Commons Compress.


Вот пример кода, который показывает, как упаковать и распаковать arj архивы с использованием Apache Commons Compress:

  1. Добавьте зависимость Maven в ваш проект:
1
2
3
4
5
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.21</version>
</dependency>


  1. Упаковка arj архива:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import org.apache.commons.compress.archivers.arj.*;
import java.io.*;

public class ARJPackExample {
    public static void main(String[] args) throws IOException {
        File inputFile = new File("inputfile.txt");
        File outputFile = new File("outputfile.arj");
        
        try (ArjArchiveOutputStream outputStream = new ArjArchiveOutputStream(new FileOutputStream(outputFile))) {
            ArjArchiveEntry entry = new ArjArchiveEntry(inputFile);
            entry.setSize(inputFile.length());
    
            outputStream.putArchiveEntry(entry);
    
            try (FileInputStream inputStream = new FileInputStream(inputFile)) {
                byte[] buffer = new byte[1024];
                int bytesRead;
    
                while ((bytesRead = inputStream.read(buffer)) > 0) {
                    outputStream.write(buffer, 0, bytesRead);
                }
            }
    
            outputStream.closeArchiveEntry();
        }
    }
}


  1. Распаковка arj архива:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import org.apache.commons.compress.archivers.arj.*;
import java.io.*;

public class ARJUnpackExample {
    public static void main(String[] args) throws IOException {
        File inputFile = new File("inputfile.arj");
        File outputDirectory = new File("outputdirectory");
        
        try (ArjArchiveInputStream inputStream = new ArjArchiveInputStream(new FileInputStream(inputFile))) {
            ArjArchiveEntry entry;
    
            while ((entry = inputStream.getNextArjEntry()) != null) {
                File outputFile = new File(outputDirectory, entry.getName());
                outputFile.getParentFile().mkdirs();
    
                try (FileOutputStream outputStream = new FileOutputStream(outputFile)) {
                    byte[] buffer = new byte[1024];
                    int bytesRead;
    
                    while ((bytesRead = inputStream.read(buffer)) > 0) {
                        outputStream.write(buffer, 0, bytesRead);
                    }
                }
            }
        }
    }
}


Обратите внимание, что для работы с arj архивами вам также понадобится установить программу arj на своей системе и добавить ее в переменную среды PATH.

Пользователь

от raina , 3 месяца назад

@urban_will 

Приведенный пример демонстрирует использование библиотеки Apache Commons Compress для работы с arj архивами в Java. Важно помнить о необходимости предварительной установки программы arj на системе для корректного выполнения операций упаковки и распаковки архивов.