黑马程序员技术交流社区

标题: 我明明用skipBytes()跳到第四个八位为什么结果是李四 Y王五 -李双 P [打印本页]

作者: 潜伏    时间: 2013-12-1 18:55
标题: 我明明用skipBytes()跳到第四个八位为什么结果是李四 Y王五 -李双 P
import java.io.*;
class RandomAccessFileDemo
{
        public static void main(String[] args) throws IOException
        {
                write();
                read();
        }
        public static void write()throws IOException
        {
                RandomAccessFile acf=new RandomAccessFile("随机.txt","rw");
                acf.write("李四".getBytes());
                acf.writeInt(89);
                acf.write("王五".getBytes());
                acf.writeInt(45);
                acf.skipBytes(8*4);
                acf.write("李双".getBytes());
                acf.writeInt(80);
                acf.close();
        }
        public static void read()throws IOException
        {
                RandomAccessFile acf=new RandomAccessFile("随机.txt","rw");
                acf.seek(8*3);// 要求在写入时候按照姓名和年龄共占八位的情况写
                byte[] arr=new byte[4];
                acf.read(arr);
                System.out.println(new String(arr)+acf.readInt());
               

        }
}

作者: 潜伏    时间: 2013-12-1 20:10
没人吗?》自己回一个
作者: hurryup    时间: 2013-12-1 22:18
我试了一下,你多运行几遍就有效果了。
acf.skipBytes(8*4);在程序的位置不同,效果不同,放在尾部,就无效。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2