java 为什么用文件输入流写97进去,文件中却显示的是a

如题所述

你这个不是输入流,你这个叫输出流好不好?
方向是根据内存来判定的,从内存写入到硬盘,就是输出流;从硬盘写到内存,就是输入流;
首先,97转成二进制,1100001,交给虚拟机-操作系统调用方法写入到你这个构造方法指定的位置。由于常用编辑器会在打开的时候,将字节转换为字符显示,1-127之间的会查询ASCII码表,会显示为a,其它值则查询系统默认的码表,如果是中文,则查询gbk码表。
如果你要写入97,可以将97转换为String类型,调用getbytes()方法得到一个数组,写入就行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-16
先定义再传值,降低耦合,方便修改,可以创建变量来接受你这个要传的值int 多少,还有类型转换也可以本回答被网友采纳
第2个回答  2019-08-16
因为a的ASCII码是97
第3个回答  2019-08-16
a的ASCII码是97.

如果你想写进97可以这样
fos.write("97".getBytes());
相似回答