都是一样的东西,字符流是对文件的操作,字节流可以是任意类型的。其实不管是InputStreamReader还是BufferedReader都是对字节流FileinputStream的封装 让我们使用起来更加方便
也可以自己使用byte与编码集来自己转换,将字节流转换成字符串
也可以自己使用byte与编码集来自己转换,将字节流转换成字符串
2016-12-29
public int read(byte[] b)
throws IOException
The number of bytes actually read is returned as an integer.
read()返回的是steam流的下一个byte,将下一个byte转成int返回,read(byte[])返回的是steam流中读取到的字节的个数.
所以int b = read() 和 int b = read(byte[])返回值完全是两回事。
throws IOException
The number of bytes actually read is returned as an integer.
read()返回的是steam流的下一个byte,将下一个byte转成int返回,read(byte[])返回的是steam流中读取到的字节的个数.
所以int b = read() 和 int b = read(byte[])返回值完全是两回事。
2016-12-29
dos.writeInt(10);
dos.writeUTF("中国");
dos.writeInt(10);
dos.writeChars("中国");
dos.flush();
dos.close();
IOUtil.printHexString(fileName);
===============
00 00 00 0a 00 06 e4 b8 ad e5
9b bd 00 00 00 0a 4e 2d 56 fd
===============
00 06 这两个字节表示的是该字符串所占用的字节数,与字符串无关。
dos.writeUTF("中国");
dos.writeInt(10);
dos.writeChars("中国");
dos.flush();
dos.close();
IOUtil.printHexString(fileName);
===============
00 00 00 0a 00 06 e4 b8 ad e5
9b bd 00 00 00 0a 4e 2d 56 fd
===============
00 06 这两个字节表示的是该字符串所占用的字节数,与字符串无关。
2016-12-26
dos.writeUTF("中国");
dos.writeChars("中国");
4e 2d 56 fd 00 06 e4 b8 ad e5 9b bd
老师讲得似乎有问题?有大神可以解释下吗
dos.writeChars("中国");
4e 2d 56 fd 00 06 e4 b8 ad e5 9b bd
老师讲得似乎有问题?有大神可以解释下吗
2016-12-26
坑爹啊,软件里没有自动生成tostring的方法,就没写,这个反序列化得到的对象还不能通过字段(属性)访问。必须用tostring方法才能看出来,研究了好久。还有就是Iso.readobject();有异常,需要处理
2016-12-24