乱码问题

java2670655722 2012-10-08 12:57:48
public static void main(String[] args) throws IOException {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("d:\\dd.txt"));
dos.writeFloat(0.12345f);
dos.close();
}

代码执行完后,dd.txt文件里面却是乱码?
为什么?请问如何解决?
谢谢!
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcx_1989210 2012-10-08
  • 打赏
  • 举报
回复
insert into test(name)values('了');
Error:Incorrect string value:'\xc1\xcb' for column 'name' at row 1;

mysql的设置:
db:utf8 client:utf8 conn:utf8 server:utf8 配置文件里也是utf8

谢大婶了
s_1051125617 2012-10-08
  • 打赏
  • 举报
回复
通过DataOutputStream,文件中浮点型、整型、boolean型会出现乱码,因为存储的是二进制文件编码,则用记事本打开看到的是相应的assca码值
如:dos.writeInt(65);则会显示A


nmyangym 2012-10-08
  • 打赏
  • 举报
回复
0.12345f 这个浮点数占4个字节,表示为:3d fc d3 5b,写入到文件里的是这几个字节。不是可显示字符,一般的编辑工具肯定认不出来,需要用DataInputStream 的readFloat()方法读出。

import java.io.*;
public class Hanzi1
{
public static void main(String[] args)
{
try
{
DataOutputStream dos = new DataOutputStream(new FileOutputStream("d:\\dd.txt"));
dos.writeFloat(0.12345f);
dos.close();
DataInputStream dis=new DataInputStream(new FileInputStream("d:\\dd.txt"));
float f=dis.readFloat();
System.out.println(" f is "+f);
dis.close();
}
catch (IOException e)
{
// TODO: handle exception
System.out.println(e);
}
}
}
java2670655722 2012-10-08
  • 打赏
  • 举报
回复
就是想知道为什么会是乱码……
s_1051125617 2012-10-08
  • 打赏
  • 举报
回复
不过,虽然打开dd.txt文件后,里面全是乱码,但是这些乱码是可以用DataInputStream类读出来
DataOutputStream dos = new DataOutputStream(new FileOutputStream("d:\\dd.txt"));
dos.writeFloat(0.12345f);
dos.close();

FileInputStream inputStream = new FileInputStream("d:\\dd.txt");
DataInputStream dataInputStream = new DataInputStream(inputStream);
float k = dataInputStream.readFloat();
System.out.println(k);

s_1051125617 2012-10-08
  • 打赏
  • 举报
回复 1
如果想写入dd.txt文件的数据可读,需要用到PrintWriter类

PrintWriter dos = new PrintWriter(new FileOutputStream("d:\\dd.txt"));
dos.print(0.12345f);
dos.close();

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧