java中受密码保护的文档和docx文件

java中受密码保护的文档和docx文件,java,eclipse,apache-poi,Java,Eclipse,Apache Poi,我想使用java用密码保护doc和docx文件。我尝试过使用ApachePOI。但这帮不了我。我在那个地方没有任何文件。我该怎么做? 还有其他方法或API吗 POIFSFileSystem fs = new POIFSFileSystem(); EncryptionInfo info = new EncryptionInfo(fs); File file=new File("D:/abc.doc");

我想使用java用密码保护doc和docx文件。我尝试过使用ApachePOI。但这帮不了我。我在那个地方没有任何文件。我该怎么做? 还有其他方法或API吗

            POIFSFileSystem fs = new POIFSFileSystem();
            EncryptionInfo info = new EncryptionInfo(fs);
            File file=new File("D:/abc.doc");
            Encryptor enc = info.getEncryptor();
            enc.confirmPassword("xxxxx");

            OPCPackage opc = OPCPackage.open(file,PackageAccess.READ_WRITE);
            OutputStream os = enc.getDataStream(fs);
            opc.save(os);
            opc.close();

            FileOutputStream fos = new FileOutputStream("D:/abc12345.docs");
            fs.writeFilesystem(fos);
            fos.close(); 

检查这一点,并尝试适应自己 参见:

请为信息对象尝试此构造函数:


encryptinfo info=newencryptinfo(EncryptionMode.agile)

查看此内容请避免仅链接回答。已尝试,但它无法帮助我解决问题…此代码正在运行,没有错误…但我在该位置未获取任何文件。能否尝试将输出文件夹更改为桌面。构造函数EncryptionInfo(POIFSFileSystem,EncryptionMode)undefinedI是否为POI版本添加了快照?为什么推荐使用如此旧的Apache POI版本?那些是4岁!抱歉,提供的信息太晚……这仅适用于docx格式……当我尝试使用doc时,它在线程“main”org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException中为我提供exceptionException: