`

Java通过Runtime类中的exec方法将文件压缩成ARJ包

    博客分类:
  • java
 
阅读更多
ARJ是由DOS下曾红极一时的ARJ压缩而成的文件格式,具备功能强大、压缩率高等优点。尽管如今没有了往日的辉煌,但使用范围依然广泛。我们熟知的*.JAR就是ARJ作者研究的另外一种超强压缩格式,其压缩率比ARJ更高,但两者并不兼容。
由于最近一个项目,需要先将数据库中表数据以txt形式导出,然后再打包成ARJ,上传到FTP服务器中。开始一直苦于如何将txt打包成ARJ文件。曾向一位经验极为丰富的同事请教,她直接发了个网址给我,打开一看,却是一个装在windows上的应用。可我要的是通过Java去实现这一功能。当时郁闷可想而知,沉思中(其实是郁闷中)....
当一个人郁闷到极限的时候,什么事都可能发生。没错,突然想起Runtime类中不是有个exec(String command)方法可以用来在单独的进程中执行指定的字符串命名吗。这样只要我把ARJ执行文件配置在系统的环节变量中,然后通过exec(String command)方法去执行命名不久可以了吗。
心动不如行动,立马开始编写程序:
首先,将ARJ应用装在如下目录C:\ARJ
其次,配置系统环节变量,也就是在path中加上;C:\ARJ,在开始->运行->CMD中输入ARJ只要不出现 'ARJ' 不是内部或外部命令,也不是可运行的程序或批处理文件。就说明你配置成功了。
最后,就是编写Java代码了,如下:
import java.io.IOException;
public class Execute {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("ARJ A C:/dcb_manage/0001/receive.ARJ C:/dcb_manage/0001/*.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
 
这样,就将我C:/dcb_manage/0001/目录下的所有txt文件,打成了一个ARJ包。上面代码生成的ARJ包目录是C:/dcb_manage/0001/receive.ARJ
A:代表ARJ程序将进行压缩操作,执行压缩时此参数必须存在(更多参数设置,请上网搜索)


PS:虽然这不是纯java去实现ARJ压缩,但想要的功能确已达到,不得已而为之,哈哈^_^。
分享到:
评论

相关推荐

    arj-一款经典的压缩软件

    4. **分卷压缩**:ARJ允许用户将大文件分割成多个小文件,方便在容量有限的媒介(如软盘)之间转移。 5. **恢复记录**:ARJ包含恢复记录功能,可以在磁盘错误或文件传输中断时帮助恢复压缩文件,增加了数据的可靠性...

    arj_压缩arj_源码

    通过分析这些源代码,可以深入了解ARJ压缩算法的实现细节,包括文件处理、内存管理、加密、错误校验和自解压技术等方面的知识。这对于软件开发者,尤其是对压缩算法和DOS时代编程有兴趣的人来说,是一份宝贵的教育...

    java源码:文件压缩解压缩包 Commons Compress.rar

    在 Java 开发中,如果需要处理 ZIP、GZIP、BZIP2、7z、ARJ、TAR、CPIO、RAR 等多种压缩格式,Apache Commons Compress 库是一个非常实用的选择。 Apache Commons Compress 库的核心优势在于其模块化的架构,每个...

    ARJ 压缩软件

    2. **多卷压缩**:ARJ支持将大文件分割成多个小卷,便于使用软盘或其他存储介质进行分批传输。 3. **加密功能**:ARJ提供了文件加密选项,可以保护用户数据的安全,防止未经授权的访问。 4. **自解压文件**:ARJ能...

    Win31下的压缩软件 ARJ

    1. **文件压缩**:ARJ能够将多个文件打包成一个单一的压缩文件,节省磁盘空间。它支持多种压缩级别,用户可以根据需要选择压缩速度和压缩比率之间的平衡。 2. **文件解压**:除了压缩,ARJ还能够解压ARJ格式的压缩...

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    首先,Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`用于创建ZIP格式的压缩文件,`GZIPOutputStream`用于创建GZIP格式的压缩文件,以及`InflaterInputStream`和`...

    JAVA文件压缩与解压缩实践的设计与实现(源代码+毕设文档).zip

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理任务,这通常涉及到使用库如Apache Commons Compress、Zstd Java Library或者Java内置的ZipOutputStream和ZipInputStream类。本项目"JAVA文件压缩与解压缩实践...

    Dos下的ARJ压缩工具

    2. **多卷压缩**:ARJ支持将大文件拆分为多个小文件进行压缩,这在当时磁盘空间有限的情况下非常有用。用户可以指定每卷文件的大小,以便在多个软盘或其它存储介质之间转移。 3. **文件恢复记录**:ARJ提供文件恢复...

    JAVA文件压缩与解压缩实践(源代码+论文).zip

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理任务,这通常涉及到使用标准库如Java Archive (JAR) 或者第三方库如Apache Commons Compress或Zstandard(Zstd)。本实践项目旨在深入理解并应用这些技术,...

    JAVA文件压缩与解压缩实践(源代码+文档).zip

    总之,通过深入研究这个“JAVA文件压缩与解压缩实践”的教程,开发者不仅可以掌握Java中的压缩和解压缩技术,还能学会如何在实际项目中有效地应用这些技术,提高代码质量和效率。无论你是Java新手还是经验丰富的...

    JAVA文件压缩与解压缩实践的设计

    ARJ:由DOS下曾经红极一时的压缩软件ARJ压缩而成的文件格式,它具有功能强大、压缩率高等优点。到了现在的Windows时代,它已经没有了往日的辉煌。 CAB:是Windows 98新增的一种特殊压缩文件格式,主要用于对有关软件...

    java文件压缩

    创建JAR文件可以使用`jar`命令行工具,也可以通过Java的`java.util.jar`包中的类如`JarOutputStream`和`JarEntry`来编程实现。例如,你可以创建一个`JarOutputStream`,然后添加`JarEntry`来表示每个文件或目录,...

    ARJ 压缩算法简析

    some archiver support programs have incorporated arj archive identification schemes that are not reliable. at arj 2.39, there are now two versions of the large self-extraction module. the 17k byte ...

    ARJ压缩工具

    4. **多卷压缩**:ARJ支持创建多卷压缩文件,这意味着大文件可以被分割成若干个小部分,方便存储在多个磁盘上或通过容量有限的媒介进行传输。 5. **文件保护**:ARJ允许用户设置密码来保护压缩文件,防止未经授权的...

    基于java的开发源码-文件压缩解压缩包 Commons Compress.zip

    Java语言在处理文件压缩与解压缩任务时,通常会用到一些库,其中之一就是Apache Commons Compress库。这个库提供了对多种压缩格式的支持,包括但不限于ARJ、BZIP2、7z、Gzip、Pack200、XZ、Z标准压缩格式以及Unix...

    基于Java的实例源码-文件压缩解压缩包 Commons Compress.zip

    3. **压缩文件**:创建一个`ZipArchiveOutputStream`对象,然后通过调用`putArchiveEntry`方法添加要压缩的文件,接着将文件内容写入输出流,最后关闭条目和输出流。以下是一个简单的示例: ```java File ...

    dos下的压缩程序arj.exe

    dos下的压缩程序arj.exe,网上不好找了!

    Arj 源码

    通过分析Arj的源码,开发者可以学习到文件压缩领域的经典技术和实践,同时也能了解到早期软件设计的一些特点和限制。这对于研究历史上的软件发展,或者在现代项目中复用或改进这些技术都有积极的意义。此外,源码...

    压缩工具ARJ

    一个古老的打包工具,是dos平台的。可能好多人都已经不用了。

    linux文件压缩命令.pdf

    命令 `tar -czvf new1.tar.gz my1*.doc` 会将当前目录下所有以 my1 开头的文档打包并压缩成 new1.tar.gz 文件。解压缩该文件的命令是 `tar -xzvf new1.tar.gz`。 bzip2 是另一种压缩工具,与 gzip 类似,但它使用了...

Global site tag (gtag.js) - Google Analytics