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

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压缩,但想要的功能确已达到,不得已而为之,哈哈^_^。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 选择的文件不是zip/rar/ace/arj档案文件,这意味着您选择的文件不是以.zip、.rar、.ace、.arj为扩展名的压缩文件。通常情况下,这些文件类型用于打和压缩多个文件文件夹,以便在存储和传输时占用较少的空间。 如果您的目标是解压缩这个文件,首先需要确保您选择的文件是一个有效的压缩文件。您可以通过查看文件的扩展名来验证。 如果文件扩展名是其他格式,您可能需要考虑采取其他方法来打开和查看文件。您可以尝试使用相关的软件或工具来打开该类型的文件,或者您可以尝试转换文件格式。 如果您只是打开文件,而不需要将其解压缩,那么您可以尝试使用适当的软件或工具打开该文件。您可以在互联网上搜索与该文件类型相对应的软件,并按照软件的指示进行操作。 总之,根据选择的文件不是zip/rar/ace/arj档案文件的提示,我们需要确定文件的格式,并采取适当的措施来打开、查看或处理它。 ### 回答2: 选择的文件不是zip/rar/ace/arj档案文件可能是因为文件格式不正确或者是其他类型的文件。zip、rar、ace和arj是常见的压缩文件格式,用于将多个文件文件压缩成一个单独的文件以节省存储空间或方便传输。如果选择的文件不是这些格式的话,可能会导致无法成功解压或打开。 要确保选择的文件是zip/rar/ace/arj档案文件,可以检查文件的后缀名。zip文件的后缀名通常为.zip,rar文件的后缀名通常为.rar,ace文件的后缀名通常为.ace,arj文件的后缀名通常为.arj。如果文件的后缀名与这些格式不对应,那么就不是相应类型的档案文件。 另外,如果文件是从其他地方下载或者接收的,也可能是下载过程中出现了问题或者发送方提供的文件格式有误。在这种情况下,可以尝试重新下载文件或联系发送方确认文件的正确格式。 总之,选择的文件不是zip/rar/ace/arj档案文件可能是因为文件格式不正确或者是其他类型的文件。要正确选择和使用这些档案文件,需要确保文件的后缀名和实际格式相符,并且遵循正确的下载和接收方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值