public static void main(String[] args) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream("E:/TEST2.txt");
byte[] b = new byte[]{'1',5,7,9};//文件中1显示正常,其余乱码
fos.write(b);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
请大神们讲的详细一点,多谢了!!
FileOutputStream fos = null;
try {
fos = new FileOutputStream("E:/TEST2.txt");
byte[] b = new byte[]{'1',5,7,9};//文件中1显示正常,其余乱码
fos.write(b);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
请大神们讲的详细一点,多谢了!!
解决方案 »
- toArray 问题
- 如何判断线程池处理完任务
- 不同宽度数组间强制转换的问题【scjp】 帮帮我!!! 我是新人啊 谢谢了
- 希望知道的人能回答下,该怎么做,关于java如何读取sqlserver中的text类型的数据。这个问题很古老,但是没有看到圆满的解决方案啊
- 做了个浏览器FRAME,抛出异常,请高手看看 怎么回事?
- 请问如何用URL对象访问本地资源,谢谢大家!!
- 刚开始学java,按照网上的说明,添加了环境变量,配置了UltraEdit-32,出现以下错误……
- ActionListener的用法?
- 如何在Jcreator的调试过程中查看变量的值,是否需要特定的Debug命令?散分拉!
- 我的网站的字体制作,希望各位兄弟帮下忙?
- Elasticsearch遇到了下面问题求救!
- java的大数BigInteger最多可以存多少位数?
这个怎么理解呢?
'5'
是有区别的
带单引号的'5'会被解析成一个字符(其实也是一个ASCII码,不过这个码值是十进制的53)
不带单引号的5对应的是 十进制为5的ASCII码(是个控制字符)
关于ASCII请百度,一大堆
只是控制字符楼主不知道,为什么字符就可以呢?字符会先转换为整形byte,之后在文件中显示其ASCII
就变成了原来的字符
System.out.println(bs);
这个可以把数组里面的数字都打印出来直接用数字初始化一个byte也是可以打印出来的:
byte bb = 77;//小于127也是可以打印的但是把一个string转为byte然后打印就是乱码了原因分析,string是对象,它包含的数据不只是其中存储的字符串,当把一个string对象转为byte时,得到的并不是其中字符转为的byte
实例:
byte bytes = 5;
System.out.println(bytes);
System.out.println("5".getBytes("iso8859-1"));//5是单个字符,iso8859-1中本身占用内存1字节,且小于127,本身绝对合法
输出:
5 //前者正群输出
[B@15db9742//后者出项乱码