⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsjl.java

📁 用java实心的哈夫曼编码 可以对文件进行无损压缩的新方法
💻 JAVA
字号:
/*
 * Class.java
 *
 * Created on 2005年7月5日, 上午9:44
 */

/**
 *
 * @author  zhaoyuan
 */
import java.io.*;
public class xsjl {
    public String name;
    public String sex;
    public int age;
    final static int length1=8;
    final static int length2=4;
    public xsjl(String name,String sex,int age){
        if (name.length()>length1){
            name=name.substring(0,8);//名字超过8个字节取前8个字节
        }else
        {while(name.length()<length1)
        name=name+"\u0000";//名字不足8个字节用空格补充
        }
        this.name=name;
       if(sex.length()>length2){
           sex=sex.substring(0,4);
       }else{
             while(sex.length()<length2)
                 sex=sex+"\u0000";
    }this.sex=sex;
    this.age=age;
}
    public static void main(String args[])throws Exception{
      xsjl jl1=new xsjl("zhaoyuanqq","nan",24);
      xsjl jl2=new xsjl("yuliu","nv",24);
      xsjl jl3=new xsjl("moukang","nv",23);
      RandomAccessFile ra=new RandomAccessFile("e:\\text.txt","rw");
      ra.write(jl1.name.getBytes());
      ra.write(jl1.sex.getBytes());
      ra.writeInt(jl1.age);
      ra.write(jl2.name.getBytes());
      ra.write(jl2.sex.getBytes());
      ra.writeInt(jl2.age);
      ra.write(jl3.name.getBytes());
      ra.write(jl3.sex.getBytes());
      ra.writeInt(jl3.age);
      ra.close();
      RandomAccessFile raf=new RandomAccessFile("e:\\text.txt","r");
      int len1=8;
      int len2=4;
      raf.skipBytes(16);/*跳过第一个学生的信息(8字节姓名4字节性别和4字节年龄共16字节)*/
      System.out.println("第二个学生的信息");
      String str1="";
      String str2="";
      for(int i=0;i<len1;i++)
          str1=str1+(char)raf.readByte();
      System.out.println(" name:"+str1);
          str2="";
          for(int i=0;i<len2;i++)
              str2=str2+(char)raf.readByte();
          System.out.println(" sex:"+str2);
          System.out.println(" age:"+raf.readInt());
          System.out.println("第一个学生的信息");
          raf.seek(0);//把文件指针一道文件开始位置
          str1="";
          for(int i=0;i<len1;i++)
          str1=str1+(char)raf.readByte();
          System.out.println(" name:"+str1);
          str2="";
          for(int i=0;i<len2;i++)
              str2=str2+(char)raf.readByte();
          System.out.println(" sex:"+str2);
          System.out.println(" age:"+raf.readInt());
          System.out.println("第三个学生信息");
          raf.skipBytes(16);//跳过第二个学生信息,避免重复读取
         str1="";
          for(int i=0;i<len1;i++)
          str1=str1+(char)raf.readByte();
          System.out.println(" name:"+str1);
           str2="";
          for(int i=0;i<len2;i++)
              str2=str2+(char)raf.readByte();
          System.out.println(" sex:"+str2);
         System.out.println(" age:"+raf.readInt());
          raf.close();
    }
}
    
    
    /** Creates a new instance of Class */
    /*public xsjl() {
    }
    
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -