日期:2014-05-20  浏览次数:20769 次

怎样从定长的文本文件中取出指定的字段,并显示出来,谢谢!
有这样一个文本文件,每条记录都是56,有数字3位,汉字20,数字3。格式如下:
101中华人民共和国             300
102中国人民                         510
我用substring(4,20)取第一行的汉字字符串,出现错误:
exception   in   thread   "main "   java.lang.StringIndexOutOfBoundsException:
Sting   index   out   of   range:20
请问怎样才能取出   中华人民共和国   这个字符串,谢谢!


------解决方案--------------------
我试了一下,上一个用unicode取出来的好像不对,
换成GBK吧。

byte[] bs = s.getBytes( "GBK ");
new String(bs, 3, 20, "GBK ");

不过比较奇怪,unicode应该是正确的,GBK在字符串包含非GBK字符时会有错,(比如日文字符)。