我想通過網絡發送類數據,我需要從類的名稱中獲取.class文件中的二進制數據。我想使用默認的類加載器,然後通過網絡發送加載的數據。我怎樣才能做到這一點?我正在使用scala 2.9.0.1和jre6如何從Class [_]對象獲取二進制數據?
回答
RMI允許您從整個網絡加載類文件。這可能比滾動您自己的解決方案更容易。看看http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/codebase.html
如果我知道.class文件的路徑,整個事情就會設置並正常工作。但是如果我想將它打包到jar文件中,它會失敗,因爲我無法確定類文件的路徑。 – laci37 2012-01-15 13:14:43
用文件分隔符替換完全限定類名中的句點,並將「.class」附加到結果中,這將成爲類路徑中.class文件的位置。然後使用ClassLoader以流的形式訪問該文件。
val location = className.replaceAll("\\.",File.separator) + ".class"
val stream = ClassLoader.getSystemClassLoader().getResourceAsStream(location)
//send the stream to your remote location
這似乎不適用於jar文件。 – laci37 2012-01-16 10:18:00
它應該在類路徑中拾取任何東西,無論它是否在jar中。如果你遇到了麻煩,我想這個問題更可能是你正在使用的ClassLoader。如果你在一個名爲MyClass的類上嘗試這個,請嘗試如下所示:MyClass.class.getClassLoader()。getResourceAsStream(....) – 2012-01-16 18:57:44
- 1. 二進制反序列化:獲取對象數據
- 2. 從NSData對象中提取二進制數據
- 3. 從二進制數據中讀取對象
- 4. java如何從二進制數據獲取文件名?
- 5. 如何從下載鏈接獲取二進制數據
- 6. Python如何通過SWIG從C++獲取二進制數據(char *)?
- 7. 從二進制獲取位
- 8. 如何從JSON對象獲取數據?
- 9. 如何從Json對象獲取數據?
- 10. 如何從對象中獲取數據
- 11. 如何從NSNotification對象獲取數據?
- 12. 使用SqlDataReader獲取二進制數據
- 13. 如何將二進制數據插入Class :: DBI的BLOB列中?
- 14. 從串口讀取二進制數據
- 15. 從udp()對象編組任意長度的二進制數據
- 16. 如何通過scala獲取二進制數據流?
- 17. 如何從特定對象ID獲取核心數據對象?
- 18. 從CRML獲取圖像二進制數據
- 19. Jersey:從發佈請求中獲取二進制數據
- 20. 從二進制數據中獲取雙字
- 21. 從python的二進制數據獲取unicode字符串
- 22. 如何從二進制文件中讀取數據?
- 23. 如何從xhr響應中讀取二進制數據
- 24. 如何從二進制blob讀取圖像元數據?
- 25. 如何從WCF REST讀取二進制數據/圖像
- 26. 反序列化二進制對象時獲取版本
- 27. 如何使用類對象從數據庫中獲取數據?
- 28. 如何從Spring處理的POST請求中獲取原始二進制數據?
- 29. 如何從SoftLayer報價的二進制數據中獲取「PDF」文件?
- 30. 如何使用LibGit2Sharp從Git存儲庫中獲取文件二進制數據?
你想發送你的類的實例中的數據我們的類本身的字節代碼? – 2012-01-15 09:23:51
我正在使用scala遠程演員。建立連接之後,我將我的課程實例從服務器發送到客戶端。如果在反序列化的時候我找不到類定義,我會向服務器發送一個請求。問題在這裏,如果服務器打包在jar文件中,我找不到要發回的內容。 – laci37 2012-01-15 13:19:26