当前位置: 技术问答>java相关
关于java.io的问题.
来源: 互联网 发布时间:2015-09-02
本文导语: try { java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream(); // java.util.zip.DeflaterOutputStream zos = new java.util.zip.DeflaterOutputStream (os); java.io.DataOutputStream dataos = new java.io.DataOutputStream(new java.io.BufferedOutputStream(zo...
try
{
java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();
//
java.util.zip.DeflaterOutputStream zos = new java.util.zip.DeflaterOutputStream (os);
java.io.DataOutputStream dataos = new java.io.DataOutputStream(new java.io.BufferedOutputStream(zos));
dataos.writeChars("sdfsdfsdjfjsdfasdjfl");
dataos.flush();
java.io.ByteArrayInputStream is = new java.io.ByteArrayInputStream(os.toByteArray());
java.util.zip.InflaterInputStream zis = new java.util.zip.InflaterInputStream(is);
java.io.BufferedInputStream br = new java.io.BufferedInputStream(zis);
java.io.DataInputStream datais = new java.io.DataInputStream.(br);
System.out.println(datais.readLine());
br.close();
zos.close();
os.close();
is.close();
zis.close();
datais.close();
dataos.close();
}
catch(java.io.IOException e)
{
System.out.println(e.getMessage());
}
这段代码为什么会在datais.readLine()时抛出
Unexpected end of ZLIB input stream
{
java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();
//
java.util.zip.DeflaterOutputStream zos = new java.util.zip.DeflaterOutputStream (os);
java.io.DataOutputStream dataos = new java.io.DataOutputStream(new java.io.BufferedOutputStream(zos));
dataos.writeChars("sdfsdfsdjfjsdfasdjfl");
dataos.flush();
java.io.ByteArrayInputStream is = new java.io.ByteArrayInputStream(os.toByteArray());
java.util.zip.InflaterInputStream zis = new java.util.zip.InflaterInputStream(is);
java.io.BufferedInputStream br = new java.io.BufferedInputStream(zis);
java.io.DataInputStream datais = new java.io.DataInputStream.(br);
System.out.println(datais.readLine());
br.close();
zos.close();
os.close();
is.close();
zis.close();
datais.close();
dataos.close();
}
catch(java.io.IOException e)
{
System.out.println(e.getMessage());
}
这段代码为什么会在datais.readLine()时抛出
Unexpected end of ZLIB input stream
|
方法如下:
ZipFile zipfile = new ZipFile(zipfile);
Enumeration enum = zipfile.entries();
while(enum.hasMoreElements()) {
// 这里取得entry
entry = (ZipEntry) enum.nextElement();
//这里可以对文件名进行编码
String name = new String(entry.getName().getBytes("ISO8859_1"), file_encoding);
//解压缩操作
}
ZipFile zipfile = new ZipFile(zipfile);
Enumeration enum = zipfile.entries();
while(enum.hasMoreElements()) {
// 这里取得entry
entry = (ZipEntry) enum.nextElement();
//这里可以对文件名进行编码
String name = new String(entry.getName().getBytes("ISO8859_1"), file_encoding);
//解压缩操作
}
|
方法如下:
ZipFile zipfile = new ZipFile(zipfile);
Enumeration enum = zipfile.entries();
while(enum.hasMoreElements()) {
// 这里取得entry
entry = (ZipEntry) enum.nextElement();
//这里可以对文件名进行编码
String name = new String(entry.getName().getBytes("ISO8859_1"), file_encoding);
//解压缩操作
}
ZipFile zipfile = new ZipFile(zipfile);
Enumeration enum = zipfile.entries();
while(enum.hasMoreElements()) {
// 这里取得entry
entry = (ZipEntry) enum.nextElement();
//这里可以对文件名进行编码
String name = new String(entry.getName().getBytes("ISO8859_1"), file_encoding);
//解压缩操作
}