我想打印出这样的结果:
lisi:258
张三:23
wangwu:25
编写了两个类Emplyee.java和RandomFileTest.java,程序编译也通过了,但是打印结果不对啊!还有在Emplyee.java类中,\0000,占用几个字节啊!
代码如下:Emplyee.java类public class Emplyee {
public String name = null;
public int age = 0;
public static final int LEN = 8; /**
 * Method Emplyee
 *
 *
 */
public Emplyee(String name,int age) {
// TODO: Add your code here
if(name.length()>LEN)
{
name = name.substring(0,LEN);
}
else
{
name += "\0000";
}
this.name = name;
this.age = age;
}
}
RandomFileTest.java类
import java.io.*;
public class RandomFileTest {

/**
 * Method main
 *
 *
 * @param args
 *
 */
public static void main(String[] args) throws Exception
 {
// TODO: Add your code here
Emplyee a = new  Emplyee("张三",23);
Emplyee b = new  Emplyee("lisi",258);
Emplyee c = new  Emplyee("wangwu",25);
    RandomAccessFile ra = new RandomAccessFile("tt.text","rw");
ra.writeChars(a.name);
ra.writeInt(a.age);
ra.writeChars(b.name);
ra.writeInt(b.age);
ra.writeChars(c.name);
ra.writeInt(c.age);
ra.close();

String strName = "";
//int len = 0;
//byte[] buf = new byte[8];
RandomAccessFile raf = new RandomAccessFile("tt.text","r");
raf.skipBytes(20);
//len = raf.read(buf);
//strName= new String(buf,0,len);
for(int i=0;i<16;i++)
{
strName += raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());

strName = "";
raf.seek(0);
//len = raf.read(buf);
//strName = new String(buf,0,len);
for(int i=0;i<16;i++)
{
strName += raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());

raf.skipBytes(20);
//len = raf.read(buf);
//strName = new String(buf,0,len);
    strName = "";
for(int i=0;i<16;i++)
{
strName += raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());
raf.close();

}
}