InputStream.write()一个byte类型的值,为什么输出是一个字符,而不是对应的数字 如题。不论是输出到控制台还是输出到文件里,都是这个样子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 InputStream.write(Byte.toString(xx))这样才能打出数字来 用BufferedWriter套一下子,然后就可以是个数字了 to jshi123: 为什么write要设计成这样呢?如果同时要输出字符和数字,岂非很不方便 OutputStream.write(byte) 只是负责把一个字节从内存中复制到文件、或控制台。对于write(byte)方法来说,它所知道的就是一个“字节”(8个bit),即不是字符、也不是数字。在显示的时候,notepad,cmd这些应用程序会把数据显示到屏幕上。一般情况下,它们的做法是把一个字节就当成一个ASCII字符,所以你会看到“字符”。类库中提供了很多方便的方法直接输出字符串,如ObjectOutputStream.writeChars每个方法各自有自己的用途和应用场合罢了。(顺便说InputStream没有write方法,OutputStream才有) 当然也不会,如果用DataOutputStream.writeInt(int)写一个整数,你看到的是8个字符的一串乱码,因为显示时,它们的每个字节还是被当作了一个字符。看来楼主还没有彻底理解,多看些资料,加油啊。 那照楼上的意思,写入整数是乱码,DataOutputStream还有什么意义?不会是只供DataInputStream来读取吧 可以用对应的DataInputStream.readInt()读回来 我刚才试了一下,DataOutputStream输出的整数照样是对应的字符,并不是jshi123所说的乱码,jshi123怎么乱说呢? 关于JButton的背景问题! 如何得到当前时间一个月以前的日期? 本人有一老帖50分(超链接在本帖,现无人回复,无法结贴!帮下忙,50分! redhat9.0 java1.4.2如何设置path and classpath Java中如何监控指定的类所创建的对象、所占用的内存的大小? 初学者问题,带包的*.JAVA怎么编译啊???? 毕业设计问题(前一张帖子已结) 连接SQL SERVER 2000出错,怎样解决? anubis生日快乐~~~~~~~~~另祝大家新年快乐 为什么java编译的时候一直说程序里c2.contians(p1)找不到符号。 向数据库插入特别慢 有各种编码的知识吗?
这样才能打出数字来
为什么write要设计成这样呢?如果同时要输出字符和数字,岂非很不方便
对于write(byte)方法来说,它所知道的就是一个“字节”(8个bit),即不是字符、也不是数字。在显示的时候,notepad,cmd这些应用程序会把数据显示到屏幕上。
一般情况下,它们的做法是把一个字节就当成一个ASCII字符,所以你会看到“字符”。类库中提供了很多方便的方法直接输出字符串,如ObjectOutputStream.writeChars
每个方法各自有自己的用途和应用场合罢了。(顺便说InputStream没有write方法,OutputStream才有)