这里主要是获取路径下的文件,通过过去此文件的文件名称,然后到目标目录下创建相同的文件名(当然可以自己自定义,我这里是为了项目需要)。再通过I/O流,将原文件写入到目标文件中去。
/**
* 复制广告里面的内容,到客户端的目录下面
* @param advPath(原文件位置)
* @throws IOException
*/
public void copyFile(String advPath) throws IOException{
int i=advPath.lastIndexOf("/");//获取路径最后一个“/”的位置
String s=advPath.substring(40,i+1).toLowerCase();//获取路径中位置40~i+1的字符串
String s1=advPath.substring(i+1);//获取 路径最后一个“/”后面的文件名称
String path=ServletActionContext.getServletContext().getRealPath("")+isexistdir(s);//获取根目录
// String savepath=isexistdir(s);
File flie= new File(path+s1);
if(!flie.exists()){
//判断此路径下的文件是否存在,不存在则重新创建
flie.createNewFile();
}
FileWriter fw = new FileWriter(flie);
PrintWriter pw = new PrintWriter(fw);
pw.println();
pw.flush();
fw.close();
int byteread=0;
InputStream in = new FileInputStream(advPath);//打开原文件
OutputStream out = new FileOutputStream(path+s1);//打开连接到目标文件的输出流
byte[] buffer = new byte[1024]; //一次读取1024字节。当byteread=-1时表示文件已经读完
while ((byteread = in.read(buffer)) != -1) {
//将读取的字节写入输出流
out.write(buffer, 0, byteread);
}
out.flush();
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
这里的代码还是不够全面,不是很全面。我也有个一个问题,还想请大神们赐教!
String s=advPath.substring(40,i+1).toLowerCase();//获取路径中位置40~i+1的字符串
这个地方,假如 advPath="D:\alextao\elecartserver\WebContent/ADV/Picture/2013012514592153187.jpg";我想动态的获取“Picture”这个目录名称,而不是通过上面写死的了放在那里。
小弟,对于这里还没弄明白,还请各位大神赐教。
各位大神:小弟初来乍到,还请轻拍!!
分享到:
相关推荐
文件上传成功后,Action应返回一个结果,以便Struts2能够正确跳转到下一个视图,显示上传结果。 以上就是使用Struts2框架实现文件上传的基本步骤和涉及的知识点。在实际项目中,可能还需要考虑并发处理、性能优化...
Struts2 是一个基于 MVC 设计模式的 Java Web 开发框架,它使得创建结构清晰、易于维护的 Web 应用程序变得更加简单。在 Struts2 中,文件上传功能是通过特定的拦截器(`FileUploadInterceptor`)来实现的。以下是对...
Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts2中,文件上传是常见的功能,用于允许用户在网页上上传文件到服务器。这个压缩包包含了...
### Struts2实现文件上传(单个+多个文件上传) #### 一、单个文件上传 ...以上就是Struts2框架下单个文件上传和多个文件上传的实现过程。希望这些示例可以帮助读者理解和实现Struts2中的文件上传功能。
Struts2文件批量上传是Java Web开发中常见的一种功能,主要应用于网站后台处理大量用户上传的文件,如图片、文档等。Struts2是一个强大的MVC框架,它提供了丰富的功能来支持文件上传操作,包括单个文件上传和批量...
这里使用了Servlet API 3.0的`FileUtils`工具,它提供了一个方便的方法来复制文件。 4. **文件上传的数据类型** 通过`List<String> imageContentType`可以获取上传文件的MIME类型,`List<String> imageFileName`则...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发,它简化了构建基于Java EE的Web应用程序的过程。在本文中,我们将深入探讨如何使用Struts2来实现压缩文件的上传功能,并将其保存到Tomcat...
Struts2是一个流行的Java web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于创建结构清晰、可维护性高的企业级应用程序。本教程将详细介绍如何部署一个基于Struts2的项目,特别适合初学者。由于实际...
在上述代码中,我们首先创建了一个目标保存目录,然后将上传的文件复制到该目录下。注意,实际应用中还需要进行权限检查、文件类型验证、大小限制等安全操作。 最后,别忘了在struts.xml中配置Action,确保文件上传...
Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者执行恶意代码,从而危害到网站的安全。 S2-...
3. **定义Action类**:在Action类中,声明一个类型为`java.io.File`或`org.apache.struts2.dispatcher.multipart.FileItem`的字段来接收上传的文件,Struts2会自动将文件内容填充到这个字段。 4. **处理上传**:在...
Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...
### Struts2 知识点概览 #### Struts2 概述与来历 - **Struts2**是由Apache组织维护的一款...从环境搭建到第一个案例的实现,再到深入理解配置文件及其元素,每一个环节都紧密相连,共同构成了Struts2的核心知识体系。
4. 复制文件 JakartaMultiPartRequest.java、MultiPartRequestWrapper.java:在该目录下,我们需要复制两个文件:JakartaMultiPartRequest.java 和 MultiPartRequestWrapper.java。 5. 修改方法 buildErrorMessage...
jQuery是一个轻量级的JavaScript库,提供了丰富的交互效果和API,而Struts2是Java企业级开发中广泛使用的MVC框架,它提供了一套完善的文件上传机制。 首先,我们需要确保在项目中引入了Struts2的核心库。根据描述,...
Struts1是Apache Struts的一个版本,它是一个用于构建基于Java的Web应用程序的开源框架。Struts1提供了MVC(Model-View-Controller)架构模式的支持,使得开发者能够更加清晰地组织代码结构,易于维护与扩展。 ####...
本文主要两种方式,一:通过 FileUtils.copyFile(file, savefile);方法复制;二:通过字节流方式复制 ; web.xml struts.xml, struts.properties, UploadAction.java, index.jsp. success.jsp
3. **结果类型(Result Types)**:Struts2支持多种结果类型,如dispatcher(转发到一个JSP页面)、stream(用于文件下载)、redirect(重定向URL)等,开发者可以根据需要选择合适的结果类型。 4. **OGNL(Object-...
Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。它在Java社区中广泛使用,提供了丰富的功能和组件,简化了开发流程。下面将详细阐述创建一个简单的Struts2 HelloWorld...
Struts2是一个非常流行的Java Web框架,用于构建企业级的MVC(模型-视图-控制器)应用程序。在这个“struts2实现文件上传”的主题中,我们将深入探讨如何使用Struts2框架处理用户通过Web表单提交的文件上传请求。 ...