home *** CD-ROM | disk | FTP | other *** search
/ Xentax forum attachments archive / xentax.7z / 4427 / aisp_memo-20090510.7z / hed_dat3_src / src / HedFileCli.java < prev    next >
Encoding:
Java Source  |  2009-04-18  |  2.6 KB  |  94 lines

  1. import java.io.*;
  2.  
  3. public class HedFileCli extends HedFile {
  4.  
  5.     public HedFileCli(File dataDir, File decodedDir) {
  6.     super(dataDir, decodedDir);
  7.     }
  8.  
  9.     public HedFileCli(File dataDir, File decodedDir, File hedFile) throws IOException {
  10.     super(dataDir, decodedDir, hedFile);
  11.     }
  12.  
  13.     protected void loadedMember(HedMember member) {
  14.     // ÑßÑ≤Ñ╨╛≡╩≤ñ≥Ñφí╝Ñ╔ñ╖ñ┐ñ╚ñ¡ñ╦╕╞ñ╨ñ∞ñδÑßÑ╜Ñ├Ñ╔
  15.     }
  16.  
  17.     protected void extractedMember(HedMember member) {
  18.     // ÑßÑ≤Ñ╨Ñ╒ÑíÑñÑδñ≥┼╕│½ñ╖ñ┐╗■ñ╦╕╞ñ╨ñ∞ñδÑßÑ╜Ñ├Ñ╔
  19.     System.out.println("extracted " + member.mFile.getPath());
  20.     }
  21.     protected void storedMember(HedMember member) {
  22.     // ÑßÑ≤Ñ╨Ñ╒ÑíÑñÑδñ≥│╩╟╝ñ╖ñ┐ñ╚ñ¡ñ╦╕╞ñ╨ñ∞ñδÑßÑ╜Ñ├Ñ╔
  23.     System.out.println("stored " + member.mFile.getPath());
  24.     }
  25.  
  26.  
  27.     //----------------------------------------------------------------------
  28.  
  29.     static void printHelp() {
  30.     System.out.println("Usage:");
  31.     System.out.println("\tlist hed_file data_dir");
  32.     System.out.println("\textract hed_file data_dir work_dir");
  33.     System.out.println("\tbuild hed_file data_dir work_dir");
  34.     }
  35.  
  36.     static void list(String hedPath,
  37.              String dataDirPath) throws IOException {
  38.     HedFileCli hed = new HedFileCli(new File(dataDirPath),
  39.                     null,
  40.                     new File(hedPath));
  41.     for(int j = 0; j < hed.mMembers.size(); j++) {
  42.         HedMember item = hed.mMembers.get(j);
  43.         System.out.printf("%d%8d%8d %d %s %s\n",
  44.                   item.mDatIndex, item.mFileOffset,
  45.                   item.mMemberSize, item.mUpdatedTime,
  46.                   item.mPath1, item.mPath2);
  47.     }
  48.     }
  49.     
  50.     static void extract(String hedPath,
  51.             String dataDirPath, String unpackedDirPath)
  52.     throws IOException {
  53.     HedFileCli hed = new HedFileCli(new File(dataDirPath),
  54.                     new File(unpackedDirPath),
  55.                     new File(hedPath));
  56.     File dataDir = new File(dataDirPath);
  57.     File unpackedDir = new File(unpackedDirPath);
  58.     hed.extractAll();
  59.     }
  60.  
  61.     static void build(String hedPath,
  62.               String dataDirPath, String unpackedDirPath)
  63.     throws IOException{
  64.     HedFileCli hed = new HedFileCli(new File(dataDirPath),
  65.                     new File(unpackedDirPath),
  66.                     new File(hedPath));
  67.     File dataDir = new File(dataDirPath);
  68.     File unpackedDir = new File(unpackedDirPath);
  69.     hed.storeAll();
  70.     }
  71.  
  72.     public static void main(String argv[]) {
  73.     if(argv.length == 0) {
  74.         printHelp();
  75.         return;
  76.     }
  77.  
  78.     try {
  79.         if(argv[0].equals("list") && argv.length >= 3) {
  80.         list(argv[1], argv[2]);
  81.         } else if(argv[0].equals("extract") && argv.length >= 4) {
  82.         extract(argv[1], argv[2], argv[3]);
  83.         } else if(argv[0].equals("build") && argv.length >= 4) {
  84.         build(argv[1], argv[2], argv[3]);
  85.         } else {
  86.         printHelp();
  87.         }
  88.     } catch (Exception e) {
  89.         System.err.println("Error: exception occured");
  90.         e.printStackTrace();
  91.     }
  92.     }
  93. }
  94.