[問題] Java字串長度限制問題

作者: ab790815 (CheeseMoon)   2016-04-26 14:29:40
各位前輩好
我最近想做一個android結合opencv的人臉偵測程式
我研究過opencv的facedetect.cpp範例
打算把它搬到android上執行
可是我遇到一個問題
在這個範例裡需要載入haarcascade_frontalface_alt.XML的人臉訓練結果
我把XML的內容存到String後用Log印出
發現不能完整顯示
只讀到4千多個字元就斷尾了
但是在TextView卻可以
而且用length檢驗字串長度也是完整的
這個XML的字串長度高達676709
我覺得是Java的String型別可能有長度限制的關係
簡單來說
我可以用TextView直接印出完整資料
但無法在程式裡運用這個字串的資料
想請問各位有沒有遇過類似狀況以及如何解決
我的開發環境是 Android Studio 2.0 + OpenCV4Android 3.0.0
可能有些人會說可以用JNI
但是我在Android Studio裡嘗試寫OpenCV的JNI一直失敗
最多只能在我的Android 4.0.3的實體手機能執行
模擬器或5.0的手機都不能跑
所以我才會想用純Java來寫
感謝各位
作者: FlowerYen (Greg)   2016-04-26 16:53:00
請參考此篇文章 http://stackoverflow.com/a/8899735簡單來說 就是log一次沒辦法印那麼多字元
作者: ssccg (23)   2016-04-27 10:04:00
用無關的XML沒問題,用正確(但長度不明)的字串會有錯誤不是該看錯誤內容? String長度理論上到Integer.MAX_VALUE你的長度在記憶體不過1M左右,根本沒有很長...TextView裡面還不是同樣用字串去存的...

Links booklink

Contact Us: admin [ a t ] ucptt.com