2015-01-05 25 views
-1

我得到了異常:java.io.StreamCorruptedException:是否存在包含說明的無效代碼類型列表?

java.io.StreamCorruptedException: invalid type code: 74 

谷歌搜索並沒有幫助我找到相關的代碼74任何東西而存在與其他代碼的許多職位。我試着尋找javadoc來看看他們是否爲所有代碼類型維護一個主服務器,但沒有幫助。 任何人都可以幫我解決這個錯誤代碼或鏈接,我可以找到所有代碼的主人?

在卷測試期間發生此錯誤,其中我正在逐個向服務器上傳文件以進行處理和其他操作。

+1

爲了增加獲得正確答案的機會,請考慮添加[讓我們重現問題的代碼](http://sscce.org/)。還發布引發異常的完整堆棧跟蹤。 – Pshemo

+0

出於安全原因,我不能在這裏放置代碼或堆棧跟蹤。此代碼在過去的2年中運行良好。我只是好奇,如果有人在這裏熟悉'無效的類型代碼:74' – ares

+0

您的問題非常模糊。您確實需要提供發生此異常時的上下文。拋出此異常時調用哪種方法?與前兩年相比有什麼變化? –

回答

2

雖然你真的沒有提供哪些可以幫助你的信息,我會給你一些提示。

很可能您正在使用java.io.ObjectInputStream來讀取某些數據。在這個類的源代碼有拋出這樣的異常與這樣的消息幾個地方:

throw new StreamCorruptedException(String.format("invalid type code: %02X", tc)); 

望着我注意到,類型代碼是在類java.io.ObjectStreamConstants常量這些不同的地方。例如,該類型常量「0x74」聲明如下:

final static byte TC_STRING =  (byte)0x74; 

這也許意味着你有你的對象輸入流的字符串,但你設法它讀成別的東西。

如果您沒有使用ObjectInputStream,那麼您可能會使用類似的東西,它仍然是指上述常量。

+0

是的,我正在使用'ObjectOutputStream'。這個答案確實幫助我調試,儘管我還沒有找到原因。我相信VT腳本是有缺陷的。 – ares

0

不可能。這個問題沒有意義。有什麼是在Java對象序列化規範中的有效的類型代碼的列表。根據定義,任何在此不顯示的值都是無效的。

+0

這是我提出這個問題時得到的例外。該應用程序是一個java applet,使用java net api進行客戶端和服務器之間的通信。我不能提供任何更多的意見,因爲我不再在這個項目上工作,而且據我所知,該應用程序也被棄用和放棄。 – ares

相關問題