永发信息网

java处理字符流

答案:4  悬赏:80  手机版
解决时间 2021-02-08 00:55
  • 提问者网友:辞取
  • 2021-02-07 04:57
您好,我在您的文库里有看到关于java字符流的文章。
我现在有一串字符是这样输出的:
InputStream in= con.getInputStream();
byte[] b= new byte[1024];
int result= in.read(b);
while( result!=-1){
System.out.write(b,0,result);
result= in.read(b);
}
我想提取其中的<\title>里面的内容。应该要怎么写呢?我刚接触java有点迷茫。谢谢!</div> <div class="head bd-b"><strong>最佳答案</strong></div> <div class="list-user"> <ul> <li><span>五星知识达人</span>网友:渊鱼</li> <li><em>2021-02-07 05:33</em></li> </ul> </div> <div class="content"> 把你的inputString 传递下来<br /> InputStreamReader isr = new InputStreamReader(in);<br /> char[] c = new char[1024];<br /> StringBuffer sb = new StringBuffer();<br /> int len = 0;<br /> while ((len = isr.read(c, 0, c.length)) != -1) {<br /> sb.append(c,0,len);<br /> }<br /> int titleLength = "<title>".length();<br /> String title = sb.substring(sb.indexOf("<title>") + titleLength, sb.indexOf(""));
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-02-07 08:35
你这个代码是读取字节流的,如果查找的是文本的话,建议用字符流按行读取更好,这样就可以在读取的每一行的字符串中查找你要找的字符串(比如<\title>)。如果字符串没有换行的话,用正则去进行匹配效果会更好一点。</div> <div class="list-user"> <ul> <li><span>2楼</span>网友:污到你湿</li> <li><em>2021-02-07 07:14</em></li> </ul> </div> <div class="content">这个不是很清晰么,如果是和文本处理有关系的就用字符流,因为读取的最小单位不一样,字符流方便处理字符, 如果是其他的比如说音频视频图片等等文件的,和字符没有关系了,就用字节流,一个BYTE一个BYTE的来,不能更清晰了。我估计你应该是IO整个框架不是很熟悉。 希望能解决您的问题。</div> <div class="list-user"> <ul> <li><span>3楼</span>网友:雪起风沙痕</li> <li><em>2021-02-07 06:07</em></li> </ul> </div> <div class="content">具体解决办法如下: 1、 针对直接在console上运行的类 对于这种情况,我们建议在程序编写时,如果需要从用户端接收用户的可能含有中文的输入或含有中文的输出,程序中应该采用字符流来处理输入和输出,具体来说,应用以下面向字符型节点流类型: 对文件:filereader,filewrieter 其字节型节点流类型为:fileinputstream,fileoutputstream 对内存(数组):chararrayreader,chararraywriter 其字节型节点流类型为:bytearrayinputstream,bytearrayoutputstream 对内存(字符串):stringreader,stringwriter 对管道:pipedreader,pipedwriter 其字节型节点流类型为:pipedinputstream,pipedoutputstream 同时,应该用以下面向字符型处理流来处理输入和输出: bufferedwriter,bufferedreader 其字节型的处理流为:bufferedinputestream,bufferedoutputstream inputstreamreader,outputstreamwriter 其字节型的处理流为:datainputstream,dataoutputstream 其中inputstreamreader和inputstreamwriter用于将字节流按照指定的字符编码集转换到字符流,如: inputstreamreader in = new inputstreamreader(system.in,"gb2312"); outputstreamwriter out = new outputstreamwriter (system.out,"gb2312"); 例如:采用如下的示例java编码就达到了要求: //read.java import java.io.*; public class read { public static void main(string[] args) throws ioexception { string str = "\n中文测试,这是内部硬编码的串"+"\ntest english character"; string strin= ""; bufferedreader stdin = new bufferedreader(new inputstreamreader(system.in,"gb2312")); //设置输入接口按中文编码 bufferedwriter stdout = new bufferedwriter(new outputstreamwriter(system.out,"gb2312")); //设置输出接口按中文编码 stdout.write("请输入:"); stdout.flush(); strin = stdin.readline(); stdout.write("这是从用户输入的串:"+strin); stdout.write(str); stdout.flush(); }} 同时,在编译程序时,我们用以下方式来进行: javac -encoding gb2312 read.java</div> <!--百度联盟广告开始20:12--> <!-- <script type="text/javascript" src="//zhsho1.zhsho.cn/site/y6pim.js?qlat=kmdki"></script> --> <!--百度联盟广告结束--> <!--不良信息访问者自举报--> <div class="s-title">我要举报</div> <div class="content">如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报! <br> <a href="javascript:SendReport('','15112777','10');"><div class="btns-black">点此我要举报以上问答信息</div></a> </div> <div class="m head_s" id="destoon_space"></div> <script type="text/javascript"> function SendReport(c,id,mid) { var mbpath="https://m.zhsho.com/"; var c = c ? c : ($('#title').length > 0 ? $('#title').html() : document.title)+'\n'+window.location.href; if(id){ var htm = '<form method="post" action="'+mbpath+'api/report.php?itemid='+id+'&mid='+mid+'" id="dreport">'; }else{ var htm = '<form method="post" action="'+mbpath+'api/report.php" id="dreport">'; } htm += '<textarea style="display:none;" name="content">'+c+'</textarea>'; htm += '</form>'; $('#destoon_space').html(htm); Dd('dreport').submit(); } </script> <!--举报结束--> <!--大家都在看推荐--> <div class="s-title">大家都在看</div> <div class="contact"> <table width="100%"> <tr> <td><a href="https://m.zhsho.com/know/9a3c55700c50e55aaafc24edd729cc82.html" title="锦秀旅行社有限公司地址好找么,我有些事要过去" target="_blank">锦秀旅行社有限公司地址好找么,我有些事要过去</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/f45d733bd5cc8645b9b2bfb7e05b237c.html" title="民生西街/盐州北路(路口)在哪里啊,我有事要去这个地方" target="_blank">民生西街/盐州北路(路口)在哪里啊,我有事要去这</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/8ae15ffb82beed97578d907ba09c434c.html" title="下面对责任理解错误的是BA. 责任是一个人应当做的事情B. 责任是成年人的事,与我们未成年人无关C. 责任是不应该做某些事情D. 责任产生于社会关系之中的相互承诺" target="_blank">下面对责任理解错误的是BA. 责任是一个人应当做的</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/c51050de3f8825cd91a3a6ff6e366462.html" title="D6564动车2016年春运火车票什么时候开售?" target="_blank">D6564动车2016年春运火车票什么时候开售?</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/c85c8c3a1257b6eb5b11c2c40a35903d.html" title="600公路赛怎么翘头" target="_blank">600公路赛怎么翘头</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/7dfb6d3a1248b53e9256ffbf76ddbaed.html" title="柒牌这个地址在什么地方,我要处理点事" target="_blank">柒牌这个地址在什么地方,我要处理点事</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/7d4e64bfa7dc6e1b50544a9fb5c46737.html" title="天鸿旅行社(城中路店)地址有知道的么?有点事想过去" target="_blank">天鸿旅行社(城中路店)地址有知道的么?有点事想过</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/785f1b947d87172a7632abffc8faf2f6.html" title="上海私家车年费用一般是多少?" target="_blank">上海私家车年费用一般是多少?</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/c63a8bf3c67c34f65394d7af120c7c7c.html" title="建筑业企业|建筑业|安全人员考核考试题|安全员试卷|安全员试题|答案哪个老师有啊" target="_blank">建筑业企业|建筑业|安全人员考核考试题|安全员试</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/eaba7e8e8bff827add77898265dfb85a.html" title="东亚国旅(玉环营业部)地址有知道的么?有点事想过去" target="_blank">东亚国旅(玉环营业部)地址有知道的么?有点事想过</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/c6a4f5038403ce629afb2852a2ec7845.html" title="wow猎人宠物区别" target="_blank">wow猎人宠物区别</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/00d77fdc2ed50f5dcce6ad4bca32b6a4.html" title="2020年名师学案九年级数学下册沪科版答案" target="_blank">2020年名师学案九年级数学下册沪科版答案</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/0da79368002cb75103dea226a632b1e0.html" title="表舅服刑我可以考公务员吗" target="_blank">表舅服刑我可以考公务员吗</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/0b2531f8301ac47e4d1a5eeb6faca9db.html" title="河南省鹤壁市2012年有地震吗" target="_blank">河南省鹤壁市2012年有地震吗</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/7182286153f455bdfc46895f243cfe68.html" title="为什么广州人叫猴子?大神们帮帮忙" target="_blank">为什么广州人叫猴子?大神们帮帮忙</a></td> </tr> </table></div> <!--大家都在看结束--> <!--百度联盟广告开始20:12--> <!-- <script type="text/javascript" src="//zhsho1.zhsho.cn/site/y6pim.js?qlat=kmdki"></script> --> <!--百度联盟广告结束--> <!--知道推荐--> <div class="s-title">推荐资讯</div> <div class="contact"> <table width="100%"> <tr> <td><a href="https://m.zhsho.com/know/a925cb374e99340f0f96103231bef7de.html" title="德州职业技术学院数控怎摸样" target="_blank">德州职业技术学院数控怎摸样</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/aa63bca65dbed05b019d4d647c5235f2.html" title="圆通快递之前是什么名字" target="_blank">圆通快递之前是什么名字</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/ff267c02031c8bba3e19fd202278f843.html" title="旅游差额征税发票应税劳务、服务名称怎么填" target="_blank">旅游差额征税发票应税劳务、服务名称怎么填</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/301150d182709a094daa8c3c428b3d5d.html" title="患者,男性,25岁,近3个月经常排便后滴鲜血,量不多。肛门指检无异常发现,肛镜检截石位见3、7点各有一突出肛管内暗红色圆形软结节,诊断为A.直肠息肉B" target="_blank">患者,男性,25岁,近3个月经常排便后滴鲜血,量</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/4ea7601484a33c3bd1e83b8538fc5b2a.html" title="桦森摄影馆我想知道这个在什么地方" target="_blank">桦森摄影馆我想知道这个在什么地方</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/b32d33bde968c2f204ec07358df00a2f.html" title="谭家塘地址有知道的么?有点事想过去" target="_blank">谭家塘地址有知道的么?有点事想过去</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/02d1beb4933ff68a77e440c1e657dbd6.html" title="恒翔伟业怎么去啊,我要去那办事" target="_blank">恒翔伟业怎么去啊,我要去那办事</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/f5ce1f6ead3bbab1eebe5aae3a74bc7c.html" title="老树茶庄地址在哪,我要去那里办事" target="_blank">老树茶庄地址在哪,我要去那里办事</a></td> </tr> </table><table width="100%"> <tr> <td><a href="https://m.zhsho.com/know/508c37cc66ad7f2b48119b28f5de6e2c.html" title="正方形一边上任一点到这个正方形两条对角线的距离之和等于对角线长的 A:1/3 B:1/2 C:1/4 D:2倍" target="_blank">正方形一边上任一点到这个正方形两条对角线的</a></td> </tr> <tr> <td><a href="https://m.zhsho.com/know/0b3ca78ea8ce3bb3d67f13092a35cf4b.html" title="阴历怎么看 ?" target="_blank">阴历怎么看 ?</a></td> </tr> </table></div> <!--推荐结束--> </div> <!--增加底部开始--> <div class="main"> <div class="head_footer"> <a href="https://m.zhsho.com/">网站首页</a> | <a href="https://m.zhsho.com/about/about.html" rel="nofollow">关于我们</a> | <a href="https://m.zhsho.com/guestbook/index.php?action=add" rel="nofollow">网站留言</a> </div> <div class="main_footer"> <a href="https://m.zhsho.com/about/contact.html" rel="nofollow"><span style="color:#FF0000;">联系永发信息网</span></a><br> Copyright © 2025 <a href="https://m.zhsho.com/">永发信息网</a> 版权所有 </div> </div> <!--增加底部结束--> </div> <!--百度统计开始--> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?8c103b8e3599c6e1cffa7ec987eaa84b"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!--百度统计结束--> </body> </html>