请帮我看一个java小程序

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:46:50
import java.io.*;
public class RandomFileTest
{
public static void main(String[] args) throws Exception //问题1:这里抛出异常是不是main方法在接下来的执行过程当中一旦出现异常将自动把错误信息显示出来?
{
Employee e1=new Employee("zhangsan",21);
Employee e2=new Employee("lisi",22);
Employee e3=new Employee("wangwu",23);
RandomAccessFile ra=new RandomAccessFile("c:/1.txt","rw");
ra.write(e1.name.getBytes());//问题2:将雇员信息写入文件的时候为什么name要用getBytes()方法?不用不可以吗?请介绍一下该方法。
ra.write(e1.age);//问题3:int类型的数据写入文件的时候为什么就可以直接写入呢?
ra.write(e2.name.getBytes());
ra.write(e2.age);
ra.write(e3.name.getBytes());
ra.write(e3.age);
ra.close();
RandomAccessFile raf=new RandomAccessFile("c:/1.txt","r");
int len=8;
raf.skipBytes(12);//问题4:RandomAccessFile 类对方在操作文件的时候是不是是以字节为单位进行操作的?控制该类对象在文件中指针方法都有哪些?
System.out.println("第二个员工信息是:");
String str=&

raf.skipBytes(12); 导致异常了。。。

1,只要不捕获就会抛出来
2,3,RandomAccessFile的write方法的参数有3种,(byte[] b)(byte[] b,int off,int len)(int b)参看api
4,是以字节为单位的,操作指针的方法有seek,skipBytes
5,以有符号的八位 byte 形式返回此文件的下一个字节
6,readByte--读取一个有符号的八位值;readInt--读取一个有符号的 32 位整数
7,参数是long类型的,是从文件开头以字节为单位测量的偏移量位置,设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。偏移量的设置可能会超出文件末尾。偏移量的设置超出文件末尾不会改变文件的长度。只有在偏移量的设置超出文件末尾的情况下对文件进行写入才会更改其长度。
8,\u开头的是一个Unicode码的字符,'\u0000'都代表了一个空格.