java如何解压缩rar文件?
解决方案 »
- 为什么键盘事件,当窗口上有其他组件的时候不能响应,一个空的窗口就响应?
- java中HashSet与Iterator
- 多线程问题
- 遇到一个问题想不明白,希望能说明过程
- 字符串数组的比较???compareTo()的问题
- 求助如何用java实现des加密算法?
- ~~~~~~~~~~一个JAVA的笨拙问题。。。。。。。。。
- 谁能讲讲Hashtable的一些用法,以及他有什么作用??
- 请问如果要搭建一个JAVA的设计平台需要什么??
- 我写了一个完全封装的访问数据库的类,客户端不用操心任何有关访问数据库的细节,但是在进行大量并发访问时还遇到一些问题,请大家帮我测
- 关于二维数组的问题 在线等.
- JTable和JScrollBar的联合使用问题
public String doUnzip(String sourceFileName, String targetFolderName) throws FileNotFoundException, IOException
{
String targetName = null;
if (!targetFolderName.endsWith("/") || !targetFolderName.endsWith("\\"))
{
targetName = targetFolderName.replace('\\', '/');
targetName = targetFolderName + "/" +"temp" +"/" ;
System.out.println("File targetName is "+targetName);
} sourceFileName = sourceFileName.replace('\\', '/'); try
{
File tmpDirFile = new File(targetName);
if (!tmpDirFile.exists())
tmpDirFile.mkdirs(); ZipFile zipFile = new ZipFile(sourceFileName);
ZipEntry zipEntry = null; byte[] buffer = new byte[4096];
int bytesRead = 0; for (Enumeration fileLists = zipFile.entries(); fileLists.hasMoreElements(); )
{
String fileName = fileLists.nextElement().toString();
// System.out.println("Element is " + fileName);
File scriptFile = new File(targetName + fileName); if (!fileName.endsWith("/"))
{
scriptFile.getParentFile().mkdirs();
System.out.println("UNZIP: " + scriptFile.getPath()); zipEntry = new ZipEntry(fileName); BufferedInputStream bufferFileIn = new BufferedInputStream(zipFile.getInputStream(zipEntry));
FileOutputStream outputStream = new FileOutputStream(scriptFile); while ( (bytesRead = bufferFileIn.read(buffer)) > 0)
outputStream.write(buffer, 0, bytesRead); bufferFileIn.close();
outputStream.close();
} }
zipFile.close(); }
catch(IOException ioErr)
{
System.out.println("Decompress file fail");
ioErr.printStackTrace();
} //look tcl file and write suite file
return targetName; }
如果是rar的话,好像没有这个api。
另外人家rar的算法也不会公开出来的
还支持linux