黑马程序员技术交流社区
标题:
关于RandomAccessFile.read()方法的问题
[打印本页]
作者:
刘晓康
时间:
2012-4-4 16:32
标题:
关于RandomAccessFile.read()方法的问题
import java.io.RandomAccessFile;
public class Test
{
public static void main(String[] args) throws Exception
{
RandomAccessFile rdf = new RandomAccessFile("abc.txt","rw");
rdf.write(255);
rdf.close();
RandomAccessFile rd = new RandomAccessFile("abc.txt","rw");
System.out.println(rd.read());
}
}
write( int b)方法,向此文件写入指定的字节
这个方法我不太理解,1个字节能表示的最大数是255,read()方法是读取一个字节,所以write(255)的时候read()是能正确读出255的,如果write(256)则read()读出来的是0,这也说明了我write(int b)这个方法里如果给的参数是0-255的话,就是写入了一个字节,但如果我给的参数是256的话,那是写入了几个字节呀?该用什么方法把它正确的读出来呀?
作者:
贠(yun)靖
时间:
2012-4-4 17:08
write( int b)方法 是指将参数 b 的八个低位写入输出流。忽略 b 的 24 个高位。
也就是说 int 32位的数 实际上只写最低的八位的数 9 - 32位的数就忽略了 不会写入到输出流当中了 所以当你写入的数据时256的时候 其实写的是0000 0000 这个字节 把
第9位的1 给忽略掉了 所以要写int数据的话 还是用 writeInt 方便 它是把write方法 封装到内部 完成int的全部写入了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2