[问题] 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