java中如何实现文件打包上传以及自动解压
我们在开发项目的时候,特别是B/S系统,经常会遇到要批量上传文件的需求,对此需求一般有如下几个解决方案(以B/S为例):
1. 在客户端提供文件上传接口,一次上传一个文件
2. 一次上传多个文件
3. 将需要上传的文件打包,一次上传到服务器,并自动解压到指定目录
1,2方法都有几个很明显的不足,用户工作量大,文件如果过大,在网络环境中,上传的效率低下,另外文件在不同的目录,是无法进行一次选择上传的.所以打包上传就成为了比较流行的批量文件上传的解决方案,下面就来一起讨论一下在java中如何实现:
主要功能需求:
a. 上传文件,将文件保存在服务器
b. 读取服务器上压缩文件,解压到指定目录
下面就这两个需求说说编码实现
上传: 使用了smartupload开源程序
1. IUpload.java - (上传接口,需要jsmartupload.jar包)
import java.io.IOException;
import java.util.Hashtable;
import javax.servlet.ServletException;
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.Request;
public interface IUpload {
//只能上传一个文件
public File getSingleUploadFile() throws MultiFileException,
UploadFileIsMissingException;
//判断文件是否丢失
public boolean exists(File file);
//保存文件
public int save(String targetFileName, int arg1) throws ServletException,
IOException;
//得到绝对保存路径
public String getAbsoluteSavePath();
//得到请求
public Request getRequest();
//得到文件
public Files getFiles();
//处理所有参数,处理页面提交的其他表单数据
public Hashtable dealAllPara() throws Exception;
相关文档:
01、让控件得到焦点
用.requestFocus();可以获得控件焦点。
nextFocus()则可进入下一个焦点。
02、将String类型转为int类型
Integer.parseInt(String);
03、将Integer类型转为String类型
String.valueOf(Integer); ......
进一法: 即省略的位上只要大于零都要进一位 ;
四舍五入法: 即省略的位上小于五都要舍去,但省略的位上满五都要进一位 ;
还有一种
去尾法: 即省略的位上不管是否满五都要舍去 ;
1、除法带小数
例如:
int a = 8;
int b = 3;
int c = ((double)la)/b;
System.out.println(c); ......
方法一:只加密
import java.security.*;
import java.security.spec.*;
class MD5_test {
public final static String MD5(String s) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
&n ......
将传入的任意中文字符转换为拼音
(1)多音字只取其中一个读音。
(2)生僻字如果没有拼音,使用unknown替代。
package com.amgotech;
public class ChineseSpelling
{
private static int[] pyvalue = new int[] { -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20 ......
关于提高自己java水平的十大技术(转)
本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。
一、XML
在十种技术中,最重要的一种技术我想应该非XML莫属。这 ......