IkmsAtom.java
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. package com.axiosys.bento4.ismacryp;
  2. import java.io.DataOutputStream;
  3. import java.io.IOException;
  4. import java.io.RandomAccessFile;
  5. import com.axiosys.bento4.Atom;
  6. public class IkmsAtom extends Atom {
  7.     private final String kmsUri;
  8.     
  9.     public IkmsAtom(int size, RandomAccessFile source) throws IOException {
  10.         super(TYPE_IKMS, size, true, source);
  11.         
  12.         byte[] str = new byte[size-getHeaderSize()];
  13.         source.read(str);
  14.         int str_size = 0;
  15.         while (str[str_size] != 0) str_size++;
  16.         kmsUri = new String(str, 0, str_size, "UTF-8");
  17.     }
  18.     
  19.     public String getKmsUri() { 
  20.         return kmsUri;
  21.     }
  22.     
  23.     protected void writeFields(DataOutputStream stream) throws IOException {
  24.         byte[] bytes = kmsUri.getBytes("UTF-8");
  25.         stream.write(bytes);
  26.         int termination = size-getHeaderSize()-bytes.length;
  27.         for (int i=0; i<termination; i++) {
  28.             stream.writeByte(0);
  29.         }
  30.     }
  31.     
  32.     public String toString(String indentation) {
  33.         StringBuffer result = new StringBuffer(super.toString(indentation));
  34.         result.append("n");
  35.         result.append(indentation + "  kms_uri = " + kmsUri);
  36.         return result.toString();
  37.     }
  38. }