參照以下鏈接,我在運行時創建了類,http://blog.javaforge.net/post/31913732423/howto-create-java-pojo-at-runtime-with-javassist。現在我需要查看創建的類,這意味着它將在哪裏創建類文件?可以將它保存在磁盤/工作空間上嗎?在運行時創建Pojo並將其保存在磁盤上?
0
A
回答
2
在調用cc.toClass()
之前或之後,您可以調用cc.writeFile()
來存儲包含生成的類的字節碼的類文件。
我不知道獲取源文件的等效操作,但是,您可能會考慮實際上已經生成源代碼(至少對於這些方法)並將它依次傳遞給Javassist的CtClass
被編譯。
因此,使用相同的代碼來生成整個類的源代碼並不難,因爲您只需要連接這些方法,添加字段聲明並將其與類體相框。畢竟,生成一個源文件意味着只需編寫一個格式的文本文件,你已經很清楚...
0
你爲什麼要這麼做?它可以創建從POJO的文件,然後你會必須遵循本教程:
http://www.mkyong.com/java/how-to-write-an-object-to-file-in-java/。但是,你只能將這些字段的內容寫入文件。
2
獲取java對象並將其寫入文本類文件的過程稱爲序列化。這個語言有很好的支持。
Oracle對這些功能的文件可以發現here和教程here。
一般來說這是很容易使用和充分理解,並提供了一些巧妙的功能,包括檢測一個程序的一個版本中保存的記錄,但不兼容的版本,試圖加載的能力。
此外這stack overflow question將對你有用。
相關問題
- 1. 如何在運行時將圖像保存到磁盤
- 2. Xamarin - 如何獲取截圖並使用xamarin mac將其保存在磁盤上?
- 3. Raspivid保存到磁盤,並同時流
- 4. 在LynxOS上格式化磁盤並在C上創建分區
- 5. 在內存中創建FileStream而不是在磁盤上保存物理文件
- 6. 在磁盤上保存文件
- 7. 將文件保存在磁盤中
- 8. 將DynamicMethod保存到磁盤
- 9. 將NSMutableArray保存到磁盤
- 10. 將trie保存到磁盤
- 11. 將nsdate保存到磁盤
- 12. 生成XML並將其保存到磁盤問題
- 13. 閱讀JPEG,調整大小並將其保存到磁盤
- 14. 在全磁盤上創建文件
- 15. Couchbase - 將文檔保存在內存和磁盤上的順序
- 16. 將上傳的文件保存在磁盤上,ubuntu路徑
- 17. 如何創建一個新類並將其保存到磁盤上使用勺子
- 18. 拍照並獲取字節而不保存在磁盤上
- 19. 將會話存儲在磁盤上
- 20. MTM - 保存測試運行時出錯:磁盤空間不足
- 21. foreach()將多個繪圖並行地保存到磁盤
- 22. 將部分數據保留在內存中並且保留在磁盤中
- 23. 保存Drawable到磁盤並檢索 - Android
- 24. 下載並保存文件到磁盤
- 25. 在線運行golang並將其保存到在線文件
- 26. 生成Reporting Services 2005 PDF報告並將其存儲在磁盤上
- 27. 上傳文件並直接將其流式傳輸到磁盤,而不會將其存儲在內存中
- 28. 列表保存到磁盤上
- 29. Carrierwave不保存磁盤上的文件
- 30. Spring會將內容保存在內存中還是保存在磁盤中?
只需調用['cc.writeFile()'](http://www.csg.ci.iu- tokyo.ac.jp/~chiba/javassist/html/javassist/CtClass.html#writeFile--)在你調用cc.toClass()之前或之後。有時它真的有助於閱讀文檔... – Holger 2015-01-21 13:38:38
太好了。這是工作。但是有沒有什麼辦法可以用可讀格式生成文件? – Vinod 2015-01-21 13:49:28