您的位置:程序门 -> java -> j2se / 基础类



怎样从定长的文本文件中取出指定的字段,并显示出来,谢谢!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎样从定长的文本文件中取出指定的字段,并显示出来,谢谢![已结贴,结贴人:yhf1221]
发表于:2007-02-25 18:49:12 楼主
有这样一个文本文件,每条记录都是56,有数字3位,汉字20,数字3。格式如下:
101中华人民共和国             300
102中国人民                         510
我用substring(4,20)取第一行的汉字字符串,出现错误:
exception   in   thread   "main "   java.lang.stringindexoutofboundsexception:
sting   index   out   of   range:20
请问怎样才能取出   中华人民共和国   这个字符串,谢谢!
发表于:2007-02-25 18:54:341楼 得分:0
string   s   =   "101中华人民共和国             300 ";
s.substring(3,   s.length()-3);
发表于:2007-02-25 18:58:512楼 得分:0
如果后面还有定长的中文字符串怎么办?谢谢!
发表于:2007-02-25 19:01:223楼 得分:0
“如果后面还有定长的中文字符串怎么办?谢谢!”

什么意思?没看懂
发表于:2007-02-25 19:07:264楼 得分:0
这样:

string   s   =   "101中华人民共和国             300定长字符串 ";
byte[]   bs   =   s.getbytes( "unicode ");
string   s1   =   new   string(bs,   3,   20,   "unicode ");
发表于:2007-02-25 19:08:115楼 得分:0
101中华人民共和国                         300中华人民                         400
假如文件格式是这样的怎样处理?谢谢!
发表于:2007-02-25 19:13:136楼 得分:5
我试了一下,上一个用unicode取出来的好像不对,
换成gbk吧。

byte[]   bs   =   s.getbytes( "gbk ");
new   string(bs,   3,   20,   "gbk ");

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

发表于:2007-02-25 19:22:077楼 得分:0
这个可以,谢谢你了sswhsz!


快速检索

最新资讯
热门点击