当前位置:编程学习 > JAVA >>

java二进制数据存储问题

    小弟想看下二进制存储的数据结构,就弄了个下面小程序

import java.io.*;
class Erjinzhi{

public static void main(String args[]) throws Exception {
FileWriter myfile=new FileWriter("a.dat");
char i;
for(i=0;i<256;i++) {
myfile.write((char)(i));
myfile.flush();
}
}
}


以上代码主要是想让程序将ASCII码从00到255存到a.dat中,然后用UltraEdit查看。预期结果十六进制应该是00一直到ff,但不看不知道,我的结果是下图:

从00到7f后突然变成3f一段个数后又变成其他的了,不知道是什么原因造成,谁在自己电脑上试试,给小弟指点指点。。
谢谢啦…… --------------------编程问答-------------------- 0x7F,也即127以前,都是标准ASCII字符集,0x80(128)就不是了,所以在进行char转换的时候就错乱了。

程序修改下:
FileOutputStream myfile = new FileOutputStream("a.dat");
char i;
for(i=0;i<256;i++) {
    myfile.write(i);
}
myfile.close();

补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,