📄 protectedonescomp.java
字号:
package designPatterns;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutput;import java.io.ObjectOutputStream;import java.io.Serializable;import java.io.StreamCorruptedException;public class ProtectedOnesComp { private byte[] bytearr; private byte[] onescompl; public void storeObj(Serializable object) throws IOException { // Serialize to a byte array ObjectOutput out; ByteArrayOutputStream bos = new ByteArrayOutputStream() ; out = new ObjectOutputStream(bos) ; out.writeObject(object); out.close(); bytearr = bos.toByteArray(); onesComp(); } public Serializable getObj() throws StreamCorruptedException, IOException, ClassNotFoundException { // Deserialize from a byte array ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytearr)); Serializable obj = (Serializable) in.readObject(); in.close(); return obj; } public boolean check() { boolean result = true; for (int i = 0; i < bytearr.length; i++) { if (onescompl[i] != (byte)~bytearr[i]) { result = false; break; } } return result; } private void onesComp() { onescompl = new byte[bytearr.length]; for (int i = 0; i < bytearr.length; i++) { onescompl[i] = (byte)~bytearr[i]; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -