java解压rar5 兼容rar4(改bug)

博主在测试原作者的Java RAR5解压代码时遇到bug,某些文件在解压过程中因保存到文件的字节数组只写入了最后一组,导致字节缺失。通过修改解压方法,成功解决该问题,确保所有字节都被正确写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇是为修改原作者bug,原作者:java解压rar5 兼容rar4_So straw?-优快云博客

在我测试时发现bug,此方法

public int write(byte[] data) throws SevenZipException {
                try {
                    if (!isFolder) {
                        System.out.println(path);
                        File file = new File(ourDir + path);
                        save2File(file, data);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return data.length;
            }

在解压过程中有些文件会获取多个byte[],save2File()只写入了最后一组byte[],导致字节缺失。(原因没有深究,猜测是byte[]缓冲大小限制)

修改方法如下:

@Override
    public ISequentialOutStream getStream(int index, ExtractAskMode extractAskMode) throws SevenZipException {
        th
在航空航天领域,Missile Datcom是用于导弹气动特性分析的关键工具,能够针对高速、高马赫数、大攻角等复杂工况,估算导弹在不同飞行阶段的气动性能,如升力、阻力等。而MATLAB凭借其强大的数值计算和数据可视化能力,常被用于与Missile Datcom的数据对接和计算。本文将探讨如何将MATLAB与Missile Datcom进行匹配计算。 Missile Datcom是基于美国空军开发的Datcom程序,专门针对导弹设计,用户需输入导弹几何尺寸、质量属性、飞行条件等参数,Datcom会据此计算气动数据。MATLAB与Missile Datcom的结合主要体现在:一是数据导入,MATLAB可利用textscan等函数读取Datcom的ASCII格式输出文件,并以数组或结构体形式存储数据;二是计算接口,通过编写MATLAB函数或脚本调用Datcom的命令行版本,实现参数自动化输入和结果自动获取,如在Windows上使用system函数,在Unix/Linux上使用system或!命令;三是数据分析,借助MATLAB丰富的数学和统计功能,对气动特性数据进行曲线拟合、敏感性分析、多变量优化等高级计算,深入探究导弹性能的依赖关系;四是可视化,利用MATLAB的GUI和绘图函数(如plot、surf)直观展示计算结果,如绘制马赫数、攻角与升力系数的关系图或3D表面图;五是自动化流程,MATLAB可构建从参数设定到报告生成的完整计算流程,提高工作效率。 初学者在实际操作中需注意:熟悉Missile Datcom的输入输出格式,确保MATLAB正确解析文件;理解Datcom的计算模型和假设,合理应用计算结果;注意调用Datcom时命令行参数的正确设置,避免错误;掌握MATLAB基础编程,如数组操作、文件I/O和图形显示。MATLAB与Missile Datcom的配合为导弹气动特
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值