|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
ru.protek.component.xzip.XZipOutputStream
public class XZipOutputStream
Это моя переделка класса java.util.zip.ZipOutputStream. В стандартный класс добавлена возможность зиповать архивы, зашифрованные паролем. Алгоритм шифрации для старого зипа (версии 2). Все, что добавлено нового, находиться в конце файла (кое-какие изменения есть и в теле класса, но это не важно). Пример использования (зипуется файл "test1.xml" в архив "crypt.zip" с паролем "vlad"):
FileOutputStream fo = new FileOutputStream("crypt.zip"); XZipOutputStream zo = new XZipOutputStream(fo); zo.setPassword("vlad"); zo.setPasswordEncode("Cp1256"); FileInputStream fi = new FileInputStream("test1.xml"); zo.putNextEntry(new XZipEntry("test1.xml")); int c; while ((c = fi.read()) != -1) { zo.write(c); } zo.close();
Field Summary | |
---|---|
protected XCRC32 |
crc32
Значение хэш функции CRC32. |
static int |
DEFLATED
Compression method for compressed (DEFLATED) entries. |
protected byte[] |
randomBeginBytes
Набор случайных чисел, которые шифруются перед шифруемым сообщением. |
static int |
STORED
Compression method for uncompressed (STORED) entries. |
Fields inherited from class java.util.zip.DeflaterOutputStream |
---|
buf, def |
Fields inherited from class java.io.FilterOutputStream |
---|
out |
Fields inherited from interface ru.protek.component.xzip.XZipConstants |
---|
CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER |
Constructor Summary | |
---|---|
XZipOutputStream(java.io.OutputStream out)
Creates a new ZIP output stream. |
Method Summary | |
---|---|
void |
close()
Closes the ZIP output stream as well as the stream being filtered. |
void |
closeEntry()
Closes the current ZIP entry and positions the stream for writing the next entry. |
protected void |
deflate()
Это мой переписанный deflate(), взятый из DeflaterOutputStream. |
void |
finish()
Finishes writing the contents of the ZIP output stream without closing the underlying stream. |
java.lang.String |
getPassword()
Возврашает тикущей пароль. |
java.lang.String |
getPasswordEncode()
Возврашает кодировку в которой установлен пароль. |
(package private) static int |
getUTF8Length(java.lang.String s)
|
void |
putNextEntry(XZipEntry e)
Begins writing a new ZIP file entry and positions the stream to the start of the entry data. |
void |
setComment(java.lang.String comment)
Sets the ZIP file comment. |
void |
setLevel(int level)
Sets the compression level for subsequent entries which are DEFLATED. |
void |
setMethod(int method)
Sets the default compression method for subsequent entries. |
void |
setPassword(java.lang.String thePassword)
Устанавливает пароль. |
void |
setPasswordEncode(java.lang.String thePasswordEncode)
Устанавливает кодировку строки пароля. |
void |
write(byte[] b,
int off,
int len)
Writes an array of bytes to the current ZIP entry data. |
Methods inherited from class java.util.zip.DeflaterOutputStream |
---|
write |
Methods inherited from class java.io.FilterOutputStream |
---|
flush, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int STORED
public static final int DEFLATED
protected byte[] randomBeginBytes
protected XCRC32 crc32
Constructor Detail |
---|
public XZipOutputStream(java.io.OutputStream out)
out
- the actual output streamMethod Detail |
---|
public void setComment(java.lang.String comment)
comment
- the comment string
java.lang.IllegalArgumentException
- if the length of the specified
ZIP file comment is greater than 0xFFFF bytespublic void setMethod(int method)
method
- the default compression method
java.lang.IllegalArgumentException
- if the specified compression method
is invalidpublic void setLevel(int level)
level
- the compression level (0-9)
java.lang.IllegalArgumentException
- if the compression level is invalidpublic void putNextEntry(XZipEntry e) throws java.io.IOException
e
- the ZIP entry to be written
java.util.zip.ZipException
- if a ZIP format error has occurred
java.io.IOException
- if an I/O error has occurredpublic void closeEntry() throws java.io.IOException
java.util.zip.ZipException
- if a ZIP format error has occurred
java.io.IOException
- if an I/O error has occurredpublic void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.util.zip.DeflaterOutputStream
b
- the data to be writtenoff
- the start offset in the datalen
- the number of bytes that are written
java.util.zip.ZipException
- if a ZIP file error has occurred
java.io.IOException
- if an I/O error has occurredpublic void finish() throws java.io.IOException
finish
in class java.util.zip.DeflaterOutputStream
java.util.zip.ZipException
- if a ZIP file error has occurred
java.io.IOException
- if an I/O exception has occurredpublic void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in class java.util.zip.DeflaterOutputStream
java.util.zip.ZipException
- if a ZIP file error has occurred
java.io.IOException
- if an I/O error has occurredstatic int getUTF8Length(java.lang.String s)
protected void deflate() throws java.io.IOException
deflate
in class java.util.zip.DeflaterOutputStream
java.io.IOException
- ошибка ввода-вывода.public java.lang.String getPassword()
public void setPassword(java.lang.String thePassword)
thePassword
- Пароль.public java.lang.String getPasswordEncode()
public void setPasswordEncode(java.lang.String thePasswordEncode)
thePasswordEncode
- кодировка строки пароля.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |