设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
java 流里面,字节流是读取一个字节,为什么我读中文的 ...
返回列表
发新帖
java 流里面,字节流是读取一个字节,为什么我读中文的时候没有乱码呢?
[复制链接]
11
|
3
|
2011-10-30 11:28:52
|
显示全部楼层
|
阅读模式
我拿字节流读取一个文件,输出到另一个文件里,里面有汉字,拿字节流读得时候不是会出现乱码吗,为什么我测试,另一个文件输出的结果是正常的,没有乱码?代码:FilefileIn=newFile(\"e:/test.txt\");BufferedInputStreambis=newBufferedInputStream(newFileInputStream(fileIn));FilefileOut=newFile(\"e:/test2.txt\");BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream(fileOut));if(!fileOut.exists())fileOut.createNewFile();intx;while((x=bis.read())!=-1){bos.write(x);}bis.close();bos.close();
回复
使用道具
举报
千问
|
2011-10-30 11:28:52
|
显示全部楼层
用字节流读包含中文的文件出现乱码是不可避免的,简单的想想:单第一个字为英文,第二个子为中文,而一个英文占1一个字节,一个中文占两个字节,当你用两个字节的的数组读取,中文字就会被拆分,这样就肯定会出现乱码。给你个解决方法,我用的JDK1.5,完全解决了你的需求,代码如下:importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;publicclassStart{publicstaticvoidmain(String[]args){FilefileS=newFile(\"E:/123.txt\");if(!fileS.exists()){System.out.println(\"找不到指定文件\");return;}FileInputStreamfileIS=null;try{fileIS=newFileInputStream(fileS);byte[]byt=newbyte[2];intdata=fileIS.read(byt);for(;data!=-1;){inta=byt[0];intb=byt[1];if((a=0=127)127||b0)){System.out.print((char)a);data=fileIS.read();byt[0]=(byte)b;byt[1]=(byte)data;}Stringstr=newString(byt);System.out.print(str);data=fileIS.read(byt);}System.out.println();}catch(FileNotFoundExceptionex){ex.printStackTrace();}catch(IOExceptionex){ex.printStackTrace();}finally{if(fileIS!=null){try{fileIS.close();}catch(IOExceptionex){ex.printStackTrace();}}}}}
回复
使用道具
举报
千问
|
2011-10-30 11:28:52
|
显示全部楼层
应该是在bos.write(x);后面加一句bos.flush;,试试。赞同
回复
使用道具
举报
千问
|
2011-10-30 11:28:52
|
显示全部楼层
从你的代码里看,你所做的操作就是复制而已你复制记事本一到记事本二,内容一样难道还不正常了???乱码并不代表数据错误,乱码不乱码,那都是你看到的,而文件数据要让你看到,中间要经过解码,也许是数据本身有问题,也许是解码过程有问题,也许是展示的控件有问题。乱码的产生原因是多种多样的,只有深入研究了编码的原理和显示文字的一些基础理论,才能举一反三赞同
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
血液中大型血小板比例,血小板分布宽度及平
2
我宝宝六岁,眼睛时时会不由自主眨眨,我担
3
我的右胸部有时有点疼,但是不很厉害
4
哪些食品可快速帮助恢复脑神经
5
患者男,此前身体状况良好,昨天小便突然带血
6
晚上睡觉老是手脚发麻。这是什么原因。有什么办法
7
孩子满月时得了湿疹,后来好了,留下许多小坑,孩
8
月经隔半月月经来一次来了十天多天不走查有
9
把海绵拿了很痛额/
10
疥疮怎样治??哪些方法好。
11
大小腿疼痛,尤其坐下时最明显。
12
请问大夫.7岁男孩经常流鼻血是怎么回事
13
71岁经常感冒无食欲
14
脾胃虚寒,提示胆囊炎怎样用药?
15
小孩的出生证明丢了,怎样才能补办回来,
16
我妈妈74岁诊断患有恶性淋巴瘤,肝硬化晚
17
最近头晕,注意力不能集中,特别喜欢睡觉。
18
食道或胃又边发胀
19
任医生,你好,我脸上长了个坨坨,很疼,我就在
20
左肚角常要疼一下,不是很疼。后背有些酸胀
21
双肺纹理增多心影略增大主动脉迂曲是什么
22
请问婷美产品能安全使用吗
23
请问天天跑肚是患有肠炎了吗
24
肌酸酶同工酶29,乳酸脱氢酶268,a-
25
你好我是鼻子昨天开始·滴了两次黄水是
26
我用白醋货面抹脸把脸烧伤了想在咋办
27
上个月我吃了消炎药并用了栓剂这个月来了两次月经
28
子宫堵塞还是无排卵
29
我脱发在一个地方脱
30
我宝宝2个多月了,一直奶水不足,现在奶水
31
你好!我小孩七个半月,是缺锌和缺钙,我现
32
请问网上说的抗HBV三氧自体血回输技术治
33
5号月经.26同房。。月经周期一般31天,会怀
34
心律不齐吃什么药?什么药最有效?
35
三四年前我不小心在计划生育门口的马路上踩
36
11岁儿童脾有点肿大怎样治疗
37
你好,我上个月28号来月经,这个月5号还
38
好事量很少颜色还是黑紫色,带有异味,这是咋回事
39
我有尖锐湿疣,老公去检查医生说没有,可能
40
为什么第一次过性生活不痛也不流血呢
41
脸上毛孔粗
42
唾液有血
43
怀孕早期吃平消片和金水宝胶囊
44
恶性脂肪肉瘤转移到肺部。目前在化疗。到那
45
我4月份检查有盆腔炎,打针好了,可是最近
46
你好,我引产13天了,现在能不能出门呢
47
孕早期服用阿昔洛韦分散片对婴儿的影响?
48
刚怀孕为什么性交会小腹疼痛
49
枸杞吃多了有什么副作用
50
4岁小孩血小板化验结果309,参考值是1
51
我老婆已经吃了三天了 会不会有事啊
52
男40岁进时间白天和晚上大腿筋疼优其是脚后跟这
53
请问眼皮上长了个璜色的东西应该到那个科看
54
我的肚子会经常疼
55
我前一段时间酒喝的有后来就感觉胃疼的厉害,后来去做胃镜检查胃窦蠕动好
56
目前治疗冠心病疗效比较好的药物是什么?
57
我今年12岁却喜欢啃是指甲,指甲都被啃凸了,怎
58
我家是农村的结婚三年了,可有个问题自己老
59
左边的肋骨下面一直疼,之前有点拉肚子,现
60
我侄女出生时医生说宝宝肺部吸入了胎粪,就
61
腿上输液血管不通了怎么办
62
你好,我是5月4号月经干净的,5月6号结
63
上午出太阳就晕
64
小孩舌苔发黄
65
女40岁来自广州
66
我在吃21金维他和维生素E,或者VE和V
67
平时也没有感到不舒服体检时查出来说心
68
高危皮疹症状明显是否感染HIV的可能性更
69
食道或胃右边发胀
70
大腿粗小腿细,跨步比较大,而且从上面看腿
71
疤痕疙瘩患者怀孕有影响吗
72
手指肌健断裂,术后三月,用什么中药泡手比
73
您好宝宝快4岁了说话一直不清,还有点大舌
74
耳朵里总是隔三五天就挖出大量的耳屑
75
白血病
76
请问我怀孕45天左右,上个星期来了一个星期的
77
阴蒂上长了一个小肉揪
78
我的问题和上面的一样,希望您不要再这样回答了,
79
被猫抓出血
80
月经突然很少很少,少到就只要垫护垫的那种
81
足癣怎样治???有好的方法不??
82
我想减肥。22岁158重140斤,怎么办
83
我与丈夫两年了,一直都不能怀孕,后检查
84
做性器官手术
85
怀孕七个多月检查丙肝抗体,HIU抗体,快
86
为什么老是长痘痘,如果不治它自己会好吗?
87
我上了RN行号的环
88
我艾灸半小时后出门受风了,现在两条腿疼得
89
我最近体检查出宫颈炎和宫颈囊肿要紧吗,宫
90
过性生活时肚子痛是什么原因
91
病毒吸入气管会怎样
92
我血压有点低,一般是:低压60,高压90
93
小儿血小板高达420多是什么原因引起的,
94
干活胸疼心跳快憋得慌
95
宝宝的线裤是不是不能穿了?
96
我女儿5岁,大便有两厘米,是病吗