FileTool.java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Locale;
/**
* 文件操作工具類
*
* @author fengyapeng
* @time: 2011-4-11 下午03:40:41
* @Company:oddtech
*/
public class FileTool {
private static int i;
public static boolean copyFile(String resourceFimeName,
String targetFileName) throws IOException {
return copyFile(new File(resourceFimeName), new File(targetFileName));
}
/**
* 文件拷貝
*
* @param resourceFimeName
* 源文件的路徑名稱
* @param targetFile
* 目的文件
* @return
* @throws IOException
*/
public static boolean copyFile(String resourceFimeName, File targetFile)
throws IOException {
return copyFile(new File(resourceFimeName), targetFile);
}
/**
* 文件拷貝
*
* @param resourceFile
* 源文件
* @param targetFileName
* 目的文件的路徑名稱
* @return
* @throws IOException
*/
public static boolean copyFile(File resourceFile, String targetFileName)
throws IOException {
return copyFile(resourceFile, new File(targetFileName));
}
/**
* 文件拷貝
*
* @param resourceFile
* 源文件
* @param targetFile
* 目的文件
* @return
* @throws IOException
*/
public static boolean copyFile(File resourceFile, File targetFile)
throws IOException {
if (resourceFile == null || targetFile == null)
return false;
if (resourceFile.exists()) {
if (!targetFile.exists()) {
File parentFile = targetFile.getParentFile();
if (!parentFile.exists())
parentFile.mkdirs();
targetFile.createNewFile();
}
FileInputStream in = new FileInputStream(resourceFile);
FileOutputStream out = new FileOutputStream(targetFile);
byte[] buffer = new byte[1024 * 8];
int i = 0;
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.flush();
return true;
} else {
return false;
}
}
/**
* 文件刪除,
*
* @param fileName
* 文件的路徑
*/
public static void deleteFile(String fileName) {
if (fileName != null) {
deleteFile(new File(fileName));
}
}
/**
* 文件刪除
*
* @param file
* 文件
*/
public static void deleteFile(File file) {
if (file != null && file.exists()) {
System.out.println(file.delete());
}
}
/**
* 按照當前時間命名上傳的文件名
*/
public static String getFileNameByTime() {
Calendar date = Calendar.getInstance(Locale.CHINESE);
StringBuffer fileName = new StringBuffer();
if (i == 100)
i = 0;
if (i <= 9) {
fileName.append(date.get(Calendar.YEAR))
.append(date.get(Calendar.MONTH) + 1)
.append(date.get(Calendar.DAY_OF_MONTH))
.append(date.get(Calendar.HOUR_OF_DAY))
.append(date.get(Calendar.MINUTE))
.append(date.get(Calendar.MILLISECOND)).append("00")
.append(i);
} else {
fileName.append(date.get(Calendar.YEAR))
.append(date.get(Calendar.MONTH) + 1)
.append(date.get(Calendar.DAY_OF_MONTH))
.append(date.get(Calendar.HOUR_OF_DAY))
.append(date.get(Calendar.MINUTE))
.append(date.get(Calendar.MILLISECOND)).append("0")
.append(i);
}
System.out.println(date.toString());
return fileName.toString();
}
}
分享到:
相关推荐
这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...
通过以上步骤,你可以实现一个基于Struts2和Hibernate的文件上传与动态下载系统。这个系统能够处理用户上传的文件,将其保存到服务器,同时提供动态下载功能,允许用户根据需要下载文件。在实际开发中,还需要考虑...
Struts2提供了内置的支持来处理文件上传请求,使得开发人员能够方便地实现这一功能。 在Struts2中,文件上传主要依赖于Apache的Commons FileUpload库,这是一个专门用于处理HTTP多部分请求(multipart/form-data)...
在Struts2中,实现多文件上传功能是常见的需求,尤其在处理用户需要上传多个文件的场景下,如上传图片、文档等。本篇文章将详细介绍如何使用Struts2来实现这一功能。 首先,我们需要理解Struts2的上传机制。在...
总结,实现Struts2的文件上传功能需要配置Struts2拦截器、创建正确的HTML表单、编写处理文件上传的Action类以及处理可能出现的异常情况。这个过程涉及到了Web开发中的前端交互、后端处理和错误处理等多个方面,是...
在本文中,我们将深入探讨如何使用jQuery和Struts2框架实现文件上传功能。这是一个常见的需求,在Web应用中,用户可能需要上传图片、文档等文件。jQuery是一个轻量级的JavaScript库,提供了丰富的交互效果和API,而...
在 Struts2 中,文件上传功能是通过特定的拦截器(`FileUploadInterceptor`)来实现的。以下是对标题和描述中所述知识点的详细解释: 1. **文件上传原理**: 文件上传的本质是客户端浏览器将本地文件以二进制流的...
以上是Struts2实现文件上传和下载的基本步骤和关键概念。在实际应用中,你可能还需要考虑性能优化、错误处理、用户体验等方面。阅读博文(https://chenzheng8975.iteye.com/blog/1733841)将为你提供更具体的实现...
在Struts2中实现文件上传功能,通常会涉及到处理大文件、用户体验优化等问题,如显示文件上传进度条。这个场景下,我们结合Ajax技术,可以创建一个实时反馈文件上传进度的动态界面,提升用户交互体验。 首先,我们...
在Struts2中实现文件上传是一项常见的需求,这通常涉及到处理用户通过表单提交的文件数据。本篇将深入探讨如何在Struts2中实现文件上传功能。 首先,我们需要在前端创建一个HTML表单,允许用户选择要上传的文件。...
在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...
首先,我们需要在Struts2的配置文件(struts.xml)中添加相应的action配置,以处理文件上传请求。以下是一个简单的示例: ```xml <package name="default" namespace="/" extends="struts-default"> ...
在本篇中,我们将深入探讨Struts2实现文件上传的原理、步骤以及需要注意的关键点。 首先,理解文件上传的基本流程: 1. 用户在表单中选择文件,并提交表单。 2. Struts2 框架接收到请求,解析请求体中的文件数据。...
以上就是Struts2实现文件简单上传的基本步骤。在实际应用中,我们还需要考虑错误处理、文件大小限制、文件类型检查、文件重命名以避免冲突等问题。此外,还可以通过整合Spring框架来管理Action类,或者使用第三方库...
Struts和SwfUpload是两种在Web开发中用于构建强大功能的应用工具,它们结合使用可以实现高效的文件上传功能。在本文中,我们将深入探讨这两个组件以及如何将它们整合以实现文件上传。 首先,Struts是一个基于MVC...
在“struts2文件上传下载实例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于许多Web应用程序来说是必不可少的特性。 首先,`pom.xml`文件是Maven项目对象模型的配置文件,它定义了项目的...
本篇文章将深入探讨如何在Struts2框架下实现多文件上传,并基于提供的"Struts2_10"压缩包文件进行详细说明。 首先,我们需要确保Struts2的核心库已经添加到项目的类路径中,通常这通过Maven或Gradle等构建工具来...
总结来说,Struts2实现文件上传涉及到Action配置、Action类的编写、文件解析和保存、以及前端表单的设计。在实际开发中,还需要考虑异常处理、文件大小限制、文件类型的检查等安全性问题。通过这样的流程,我们可以...