这很困惑。如果要处理char数组,则元素为16位宽,它们是无符号的,并且并非所有值都有效。所以(a)你不可能有标志或字节的问题,(b)你根本不应该这样做。您应该将文件读入字节数组,XOR-ing,并将字节数组直接写入输出文件。没有读者或作家,没有字符,没有字符串。
我想问题就在于你编写文件的方式。将转换后的字节数组直接写入FileOutputStream,不要先尝试将其转换为字符串。对于读取,执行相同的操作,将其读取为字节数组。