DataInputStream的readUTF()方法能够从输入流中读取采用UTF—8字符编码的字符串 5

DataInputStream的readUTF()方法能够从输入流中读取采用UTF-8字符编码的字符串,错误,为什么?... DataInputStream的readUTF()方法能够从输入流中读取采用UTF-8字符编码的字符串,错误,为什么? 展开
 我来答
百度网友37c9a41
2012-12-19 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:24.6万
展开全部
借鉴一下别人观点:

DataInputStream的readUTF方法

读入一个已使用 UTF-8 修改版格式编码的字符串。readUTF 的常规协定是:该方法读取使用 UTF-8 修改版格式编码的 Unicode 字符串的表示形式;然后以 String 的形式返回此字符串。
首先读取两个字节,并使用它们构造一个无符号 16 位整数,构造方式与 readUnsignedShort 方法的方式完全相同。该整数值被称为 UTF 长度,它指定要读取的额外字节数。然后成组地将这些字节转换为字符。每组的长度根据该组第一个字节的值计算。紧跟在某个组后面的字节(如果有)是下一组的第一个字节.

如有疑问 :请参阅 http://zhidao.baidu.com/question/175398066.html
糖糖寳寳
推荐于2016-06-10 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3953万
展开全部
eadUTF()和读取一个UTF-8编码的文件不是一个概念。
你翻翻源码就会发行,readUTF()是从流里面读一个指定长度的UTF-8编码的字符串,长度保存在流的开头2个字节。
readUTF()通常和DataOutputStream的 writeUTF(String str)方法配套使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1060436077
2012-12-19 · TA获得超过582个赞
知道小有建树答主
回答量:2784
采纳率:0%
帮助的人:662万
展开全部
是的可以
也可以这样
File file = new File(filePath);
OutputStream out = new FileOutputStream(file);
OutputStreamWriter outWriter = new OutputStreamWriter(out,“utf-8”);
writer = new BufferedWriter(outWriter);
追问
这句话 说是错误的  ,为什么  ??? 
DataInputStream的readUTF()方法能够从输入流中读取采用UTF-8字符编码的字符串,错误,为什么?
追答
InputStream is = request.getInputStream();
DataInputStream in = new DataInputStream(is);
in.readUTF();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenguang5092
2012-12-19 · TA获得超过664个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:456万
展开全部
返回的是Unicode
包含如下

UTF-8、UTF-16、UTF-32等统一国际编码
追问
什么意思
追答
readUTF返回的编码格式取决于输入的编码格式
如果是UTF-16编码的, 返回的就是UTF-16编码的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式