项目背景: 国密传输,保存sm2加密后的sm4key值,写入文件。读取时解密不了,发现读取的值和写入的不同! 原因分析: 写入和读取的数组值对比: 明显发现比写入的要长 使用mode="rw"创建时,文档说“如果该文件尚不存在,则会尝试创建它”。 这意味着,如果文件已存在就不会再尝试创建它,删除它,截断它等。 例: 你已经有了一个"file1",里面有9个字符,你的代码所做的只是覆盖前4个字符。("5,10"部分) 解决方法: 每次在写入之前尝试先删除文件!!!