Java NegativeArraySizeException異常解決方案
問題描述:服務(wù)器接收后臺返回的報文時,提示java.lang.NegativeArraySizeException
分析:這種異常返回的原因,一般情況下沒有報文提示為返回空報文,初步分析是響應(yīng)報文流長度出了問題
百度一下類似的情況:https://stackoverflow.com/questions/11207897/negative-array-size-exception
節(jié)選部分內(nèi)容:
try{ connection = (HttpConnection)Connector.open("http://someurl.xml",Connector.READ_WRITE); URLEncodedPostData postData = new URLEncodedPostData(URLEncodedPostData.DEFAULT_CHARSET, false); postData.append("username", "loginapi"); postData.append("password", "myapilogin"); postData.append("term", word); connection.setRequestMethod(HttpConnection.POST); connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); connection.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.0"); requestOut = connection.openOutputStream(); requestOut.write(postData.getBytes()); String contentType = connection.getHeaderField("Content-type"); detailIn = connection.openInputStream(); int length = (int) connection.getLength(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if(length > 0){//這里長度沒有判定的情況下,byte array長度若為-1會產(chǎn)生錯誤 byte info[] = new byte[length]; int bytesRead = detailIn.read(info); while(bytesRead > 0) { baos.write(info, 0, bytesRead); bytesRead = detailIn.read(info); } baos.close(); connection.close(); requestSuceeded(baos.toByteArray(), contentType); detailIn.read(info); } else { System.out.println("Negative array size"); } requestOut.close(); detailIn.close(); connection.close(); }
結(jié)論:HTTP服務(wù)器在返回響應(yīng)報文的時候,沒有進行content.length長度判斷,按照常規(guī)流程響應(yīng)了錯誤長度的報文,導(dǎo)致了接收方報文長度異常
到此這篇關(guān)于Java NegativeArraySizeException異常解決方案的文章就介紹到這了,更多相關(guān)Java NegativeArraySizeException異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實現(xiàn)人臉識別登錄、注冊等功能(最新完整版)
這段時間由于學(xué)校實行靜態(tài)化管理,寢室門和校門都是用了人臉識別的裝置,本系列項目從設(shè)計到實現(xiàn)源碼全部開源免費學(xué)習(xí)使用,對Java實現(xiàn)人臉識別登錄、注冊功能感興趣的朋友一起看看吧2022-05-05String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式
這篇文章主要介紹了String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05SpringBoot?jackson提供對LocalDate的支持方式
這篇文章主要介紹了SpringBoot?jackson提供對LocalDate的支持方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01輸出java進程的jstack信息示例分享 通過線程堆棧信息分析java線程
通過ps到j(luò)ava進程號將進程的jstack信息輸出。jstack信息是java進程的線程堆棧信息,通過該信息可以分析java的線程阻塞等問題。2014-01-01Spring?createBeanInstance實例化Bean
這篇文章主要為大家介紹了Spring?createBeanInstance實例化Bean源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03