package com.google.bitcoin.bouncycastle.bcpg; import java.io.IOException; import com.google.bitcoin.bouncycastle.util.Strings; /** * generic literal data packet. */ public class LiteralDataPacket extends InputStreamPacket { int format; byte[] fileName; long modDate; LiteralDataPacket( BCPGInputStream in) throws IOException { super(in); format = in.read(); int l = in.read(); fileName = new byte[l]; for (int i = 0; i != fileName.length; i++) { fileName[i] = (byte)in.read(); } modDate = ((long)in.read() << 24) | (in.read() << 16) | (in.read() << 8) | in.read(); } /** * return the format tag value. * * @return format tag value. */ public int getFormat() { return format; } /** * Return the modification time of the file in milli-seconds. * * @return the modification time in millis */ public long getModificationTime() { return modDate * 1000L; } /** * @return filename */ public String getFileName() { return Strings.fromUTF8ByteArray(fileName); } public byte[] getRawFileName() { byte[] tmp = new byte[fileName.length]; for (int i = 0; i != tmp.length; i++) { tmp[i] = fileName[i]; } return tmp; } }