编写一个Java应用程序,利用RandomAccessFile类往某个文本文件中写入20个整数(0~19),然后从该文件的第12个字节开始,将后面所有的数据(对应写入的整数)读出。

解决方案 »

  1.   


    public static void write(){
    RandomAccessFile file = null;
    try{
    file = new RandomAccessFile("d:\\a.txt","rw");
    for(int i=1;i<=20;i++){
    file.writeInt(i);
    }
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    try {
    file.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

    public static void read(){
    RandomAccessFile file = null;
    try{
    file = new RandomAccessFile("d:\\a.txt","rw");
    file.seek(48L);
    for(int i=0;i<8;i++){
    int value = file.readInt();
    System.out.println(value);
    }
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    try {
    file.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

    public static void main(String []args){
    write();
    read();
    }
      

  2.   

    哦,write里面的循环写错了,没有看到你写的0-19
    for(int i=1;i<=20;i++)改成for(int i=0;i<20;i++)
      

  3.   

    如果是要实现你这个功能建议用BufferedReader,RandomAccessFile易导致编码不一致