0

システム間でファイルを安全に転送できるアプリケーションを作成しました...すべて正常に動作します...受信側を除いて。それは

Exception in thread "New Connection" java.lang.ClassCastException: [B cannot be cast to java.io.ObjectStreamClass
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readArray(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readArray(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at network.FileDownload.secureFileReceive(FileDownload.java:341)
at network.FileDownload.run(FileDownload.java:240)
at java.lang.Thread.run(Unknown Source)

例外が発生するクライアント側プログラム (FileDownload) の行は次のとおりです。

String bb = security.decrypt((int[][]) input1.readObject());
byte[] buf = bb.getBytes("ISO-8859-1");

サーバー側の回線は

output1.writeObject( security.encrypt(new String(buf,"ISO-8859-1")));

security.encrypt()ここで、セキュリティ クラスには、文字列を受け取って int[][] を返す暗号化および復号化のメソッドがあります。security.decryptその逆です。私を助けてください。

4

2 に答える 2

2

サーバー側でキャストを何らかの種類にwriteObject変換して送信できるようにすることを私に伝えます。もちろん、クライアント側でオブジェクトをキャストすることはできません ( ) システムはそれを行う方法を知りません...int[][]objectint[][]

それが明確であることを願っています。必要なのは、両側のオブジェクトシリアライザーです。

幸運を ...

于 2013-03-31T13:18:51.077 に答える