您的位置:首页 > 运维架构

XenDesktop 7.5VDI无法应用自动锁屏策略在虚拟桌面中不生效,RDP下OK

2015-06-03 13:39 603 查看
最近在搞解压缩的问题,发现了用java.util.zip  是可以解压压缩包,但是解压含有中文的压缩包就会报错。所以改用ant.jar来解决这个问题,代码如下:

 

 

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;

import org.apache.tools.zip.ZipFile;

public class ZipFileList
{
public static final int DEFAULT_BUFFER = 1024 * 4;
public static long copy(InputStream aIn, OutputStream aOut, int aBufferSize)
throws IOException
{
byte[] buffer = new byte[aBufferSize];
int read = 0;
long totalBytes = 0;
while (-1 != (read = aIn.read(buffer)))
{
aOut.write(buffer, 0, read);
totalBytes += read;
}
return totalBytes;
}

public static long copy(InputStream aIn, OutputStream aOut)
throws IOException
{
return copy(aIn, aOut, DEFAULT_BUFFER);
}

public static void unzip1(File zipFileName, File outputDirectory)
throws Exception
{
ZipFile zf = null;
try
{
zf = new ZipFile(zipFileName,"GBK");
Enumeration en = zf.getEntries();
while (en.hasMoreElements())
{
org.apache.tools.zip.ZipEntry entry = (org.apache.tools.zip.ZipEntry) en
.nextElement();
System.out.println(entry.getName());

FileOutputStream out = null;
try
{
System.out.println(entry.isDirectory());

if (!entry.isDirectory())
{
File newFile = new File(outputDirectory,
entry.getName());
newFile.getParentFile().mkdirs();
out = new FileOutputStream(newFile);
copy(zf.getInputStream(entry), out);
}

}
catch (Exception io)
{
io.printStackTrace();
throw io;
}
finally
{
if (out != null) out.close();
}

}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (zf != null) zf.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

public static void main(String[] args)
{

try
{
ZipFileList.unzip1(new File("F:/中文.zip"), new File("f:/a"));
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("OK");
}

}

 
 

上面的代码已经经过测试没有问题。如有问题请留言。望多交流。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: