如何用java读取客户端上传的rar文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用java读取客户端上传的rar文件相关的知识,希望对你有一定的参考价值。
直接通过工具类进行解压或者压缩文件即可。import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
*
* @author gdb
*/
public class ZipUtilAll
public static final int DEFAULT_BUFSIZE = 1024 * 16;
/**
* 解压Zip文件
*
* @param srcZipFile
* @param destDir
* @throws IOException
*/
public static void unZip(File srcZipFile, String destDir) throws IOException
ZipFile zipFile = new ZipFile(srcZipFile);
unZip(zipFile, destDir);
/**
* 解压Zip文件
*
* @param srcZipFile
* @param destDir
* @throws IOException
*/
public static void unZip(String srcZipFile, String destDir) throws IOException
ZipFile zipFile = new ZipFile(srcZipFile);
unZip(zipFile, destDir);
/**
* 解压Zip文件
*
* @param zipFile
* @param destDir
* @throws IOException
*/
public static void unZip(ZipFile zipFile, String destDir) throws IOException
Enumeration<? extends ZipEntry> entryEnum = zipFile.entries();
ZipEntry entry = null;
while (entryEnum.hasMoreElements())
entry = entryEnum.nextElement();
File destFile = new File(destDir + entry.getName());
if (entry.isDirectory())
destFile.mkdirs();
else
destFile.getParentFile().mkdirs();
InputStream eis = zipFile.getInputStream(entry);
System.out.println(eis.read());
write(eis, destFile);
/**
* 将输入流中的数据写到指定文件
*
* @param inputStream
* @param destFile
*/
public static void write(InputStream inputStream, File destFile) throws IOException
BufferedInputStream bufIs = null;
BufferedOutputStream bufOs = null;
try
bufIs = new BufferedInputStream(inputStream);
bufOs = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] buf = new byte[DEFAULT_BUFSIZE];
int len = 0;
while ((len = bufIs.read(buf, 0, buf.length)) > 0)
bufOs.write(buf, 0, len);
catch (IOException ex)
throw ex;
finally
close(bufOs, bufIs);
/**
* 安全关闭多个流
*
* @param streams
*/
public static void close(Closeable... streams)
try
for (Closeable s : streams)
if (s != null)
s.close();
catch (IOException ioe)
ioe.printStackTrace(System.err);
/**
* @param args
* @throws java.lang.Exception
*/
public static void main(String[] args) throws Exception
// unZip(new File(ZipDemo.class.getResource("D:/123/HKRT-B2B.zip").toURI()), "D:/123/");
unZip("D:/123/123.zip", "D:/123/");
// new File();
参考技术A 压缩文件的处理和普通的一样,先上传到服务器,然后通过java的解压缩方式将文件解压出来,再进行读取
如何用java相关的技术实现一个服务器到手机客户端的一个消息推送?
比如我在jsp页面上填写一段话点击一个按钮就可以让手机客户收到广播的消息,我还可以专门定具体的某个用户推送消息给他。我懂的技术大概有java、SSH框架、web service等
可以使用第三方消息推送软件。目前市面上的推送软件很多,但是是选择的时候一定要选择正规的,也可以在使用前都去了解一下消息推送软件相关的信息。推送软件的技术是通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
对于第三方消息推送软件的选择,推荐你使用深圳极光家的消息推送软件。中国领先的移动开发者服务提供商极光,极光将为兴盛优选APP提供多样化服务,助力其优化用户体验,提升用户转化,激活流量价值。
极光的一键登录功能将助力兴盛优选APP的用户实现高效、安全稳定的登录过程,优化用户体验,有效提升APP的用户转化和留存率。
参考技术A 推送当然需要用户安装客户端!需要配合客户端才可以用的。而且推送有第三方的公司专门搞这个,不过自己也可以写!不是你想的那么简单的。一个按钮还要到指定的用户,楼主有点异想天开了。追问
我用XMPP的消息推送做了
追答做产品的公司基本都会自己写推送的。第三方太贵还受限制。不爽!
本回答被提问者和网友采纳 参考技术B 这得需要短信猫或者其他设备才可以,这东西不像邮件。买一个短信猫或者向运营商买一个网关接口,然后他们会提供程序包和 lisence。网上的发短信程序没有 lisence和运营商支持是走不出去的。 参考技术C 通过web向手机端推送 信息 需要定制上网短信套餐 定制好了之后 他有提供给你接口给你调用 不知道是不是你想要的以上是关于如何用java读取客户端上传的rar文件的主要内容,如果未能解决你的问题,请参考以下文章