上传压缩包,并获取各个文件的文件名称
java 代码
- public class UpLoadMoreFile
- extends ActionSupport
- {
- private File upload;
- private List listDirectories;
- public String execute()
- throws Exception
- {
- ZipFile z1 = new ZipFile(upload);
- Enumeration emun = z1.entries();
- //目录名称的集合
- List listZip = new ArrayList();
- ZipEntry str = null;
- while (emun.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) emun.nextElement();
- if (!entry.isDirectory()) {
- str = (ZipEntry) emun.nextElement();
- listZip.add(entry.getName());
- }
- }
- listDirectories = listZip;
- return SUCCESS;
- }
- }
解压缩,并获取文件在硬盘的具体的url
java 代码
- public class UploadMoreProfileAction
- extends ActionSupport
- {
- private File upload;
- public String execute()
- throws Exception
- {
- ProfileManager manager = BeanLookup.getInstance().lookup(ProfileManager.class);
- ZipFile z1 = new ZipFile(upload);
- Enumeration emun = z1.entries();
- while (emun.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) emun.nextElement();
- if (!entry.isDirectory()) {
- File file = readFile(z1, entry);
- //通过文件在硬盘的具体url获取文件里的具体信息
- UaProfile profile = manager.fetchProfile(file.toURL());
- }
- }
- return SUCCESS;
- }
- private File readFile(ZipFile z1, ZipEntry entry)
- throws Exception
- {
- InputStream in = z1.getInputStream(entry);
- File file = File.createTempFile(String.valueOf(System.currentTimeMillis()), "tmp");
- file.deleteOnExit();
- FileWriter fw = new FileWriter(file);
- BufferedReader br = new BufferedReader(new InputStreamReader(in));
- String line = null;
- while ((line = br.readLine()) != null) {
- fw.write(line);
- }
- fw.flush();
- fw.close();
- return file;
- }
- public File getUpload()
- {
- return upload;
- }
- public void setUpload(File upload)
- {
- this.upload = upload;
- }
- }