有一个C++生成的.dat文件里面内容是以二进制数据格式存储用C解析出来的格式如下:规范版本号:1.2
文件版本号:3.1
谱图类型编码:1
谱图生成时间:20130619155805
测试文件标志位:1
通道名称:tongdao1
放电类型:2
报警等级:0
放电类型概率统计标志:1
放电类型概率7个:0       90      0       0       0       0       0
放电相位窗口m:400
量化幅值n:60
工频周期p:40
50HZ相关性:-1.#QNAN
100HZ相关性:-1.#QNAN
局放谱图类型标志:1
幅值单位:0
放电幅值下限:-80
放电幅值上限:-20
分割符号:$$$$
0.000000
-35.799999
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-35.799999
-35.799999
-35.799999
0.000000
0.000000
0.000000
0.000000
0.000000
-35.799999
0.000000
-35.799999
-35.799999
0.000000
0.000000
-35.799999我用java解析怎么解析都是乱码,代码如下,求指点: String fileName = "C:\\Users\\Administrator\\Desktop\\0312B12000042A3840001_003_01_201305241149172.dat";
FileInputStream fis = new FileInputStream(fileName);
DataInputStream dis = new DataInputStream(fis);
byte[] b = new byte[1024];
int len = 0;
while ((len = dis.read(b)) > 0) {
System.out.println(new String(b,"UTF-8"));
}
fis.close();
dis.close();