`

Java文件保存与删除工具类

 
阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * 
 * @author ahomeeye
 * 
 *         2012-7-26 下午3:50:50 文件操作工具类
 */
public class FileUtil {
	
	// 保存文件
	public static void saveFile(String newsRootPath, String filename,
			File picFile) {
		try {
			File newsFileRoot = new File(newsRootPath);
			if (!newsFileRoot.exists()) {
				newsFileRoot.mkdirs();
			}

			FileOutputStream fos = new FileOutputStream(newsRootPath + filename);
			FileInputStream fis = new FileInputStream(picFile);
			byte[] buf = new byte[1024];
			int len = 0;
			while ((len = fis.read(buf)) > 0) {
				fos.write(buf, 0, len);
			}
			if (fis != null)
				fis.close();
			if (fos != null)
				fos.close();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}


	// 删除文件
	public static boolean deleteFile(String filePath) {
		boolean flag = false;
		File file = new File(filePath);
		// 路径为文件且不为空则进行删除
		if (file.isFile() && file.exists()) {
			file.delete();
			flag = true;
		}
		return flag;
	}

	// 删除文件与目录
	public static boolean deleteFolder(String filePath) {
		boolean flag = false;
		File file = new File(filePath);
		// 判断目录或文件是否存在
		if (!file.exists()) { // 不存在返回 false
			return flag;
		} else {
			// 判断是否为文件
			if (file.isFile()) { // 为文件时调用删除文件方法
				return deleteFile(filePath);
			} else { // 为目录时调用删除目录方法
				return deleteDirectory(filePath);
			}
		}
	}

	// 删除目录
	public static boolean deleteDirectory(String filePath) {
		boolean flag = false;
		// 如果sPath不以文件分隔符结尾,自动添加文件分隔符
		if (!filePath.endsWith(File.separator)) {
			filePath = filePath + File.separator;
		}
		File dirFile = new File(filePath);
		// 如果dir对应的文件不存在,或者不是一个目录,则退出
		if (!dirFile.exists() || !dirFile.isDirectory()) {
			return false;
		}
		flag = true;
		// 删除文件夹下的所有文件(包括子目录)
		File[] files = dirFile.listFiles();
		for (int i = 0; i < files.length; i++) {
			// 删除子文件
			if (files[i].isFile()) {
				flag = deleteFile(files[i].getAbsolutePath());
				if (!flag)
					break;
			} // 删除子目录
			else {
				flag = deleteDirectory(files[i].getAbsolutePath());
				if (!flag)
					break;
			}
		}
		if (!flag)
			return false;
		// 删除当前目录
		if (dirFile.delete()) {
			return true;
		} else {
			return false;
		}
	}

}

分享到:
评论

相关推荐

    FileUploadUtil.java(文件上传工具类)

    文件上传工具类,上传文件,上传导入文件到path文件夹下,判断图片大小是否超过要求,上传多张图片到服务器,上传图片到服务器,上传文件(在指定目录下创建年月日目录),上传导入文件到temp文件夹下,删除指定...

    JAVA 操作FTP的工具类,上传,下载,删除功能都有了。

    总之,这个Java FTP工具类是开发中的一个宝贵资源,它简化了与FTP服务器的交互,包括文件的上传、下载和删除。通过学习和使用此类,开发者可以更高效地实现FTP相关的功能,提高工作效率,并且能够更好地应对各种网络...

    常用Java工具类

    Apache的Commons FileUpload库提供了一套方便的工具类,可以解析多部分请求,将文件保存到服务器。这类工具类通常包括解析请求、检查文件大小、读取文件内容和保存文件到指定路径等功能。 4. **UUID工具类**:UUID...

    Java使用NFS实现上传、下载、读取文件工具类

    健壮性:在异常处理方面,工具类充分考虑了网络不稳定、文件不存在、权限不足等各种可能的问题场景,确保在遇到问题时能够给出清晰的错误提示并尽可能地自我恢复。 可读性:代码有全面的注释,方便易读。

    java 常用工具类

    Java工具类是Java编程中非常重要的组成部分,它们提供了一系列预定义的方法,可以帮助开发者高效地处理各种常见任务,而无需从头实现。在Java中,最知名的工具类库是`java.util`包,它包含了大量方便实用的类。下面...

    java操作redis工具类与配置文件,详细版

    下面我们将详细介绍Java操作Redis的工具类以及配置文件的设置。 **1. Jedis库的引入** 首先,我们需要在项目中引入Jedis库。如果你使用的是Maven,可以在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;redis....

    java utils 工具类

    JavaUtils工具类是Java开发中常见的一类辅助代码集合,它们通常包含各种静态方法,用于简化常见的编程任务,提高开发效率。这篇博文链接(已提供但无法直接访问)可能详细探讨了JavaUtils工具类的设计原则、常用方法...

    java工具类java工具类java工具类

    文件操作工具类是Java开发中的重要组成部分,它通常包含了打开、关闭、读写文件,以及文件复制、移动、删除等操作。这类工具类使得开发者能够方便地处理文件系统中的各种任务。 HTTP文件的队列下载工具类则是网络...

    Java打开文件和保存文件

    - `Files`类(在`java.nio.file`包中)提供了许多静态方法,可以直接进行文件操作,如复制、移动、删除等。 - 如果需要处理二进制文件,可以使用`FileInputStream`和`FileOutputStream`,配合`DataInputStream`和`...

    Java IO 工具类大全

    本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...

    学生信息管理系统(java版本+文件保存).zip

    《Java版学生信息管理系统:构建GUI界面与文件保存机制》 在信息技术领域,开发一个学生信息管理系统是一项常见的任务,尤其对于初学者来说,这能够帮助他们掌握基础的编程概念和数据库管理技能。在这个项目中,...

    java文件操作工具类分享(file文件工具类)

    Java 文件操作工具类是 Java 语言中一个基本的文件操作类库,提供了多种文件操作方法,包括文件保存、文件读取、文件夹创建、文件删除等。以下是该工具类的主要知识点: 1. 文件保存方法:SaveFileByPhysicalDir ...

    28个java常用的工具类

    下面将详细讲解这28个常用的Java工具类及其核心功能。 1. **Arrays**: 提供了对数组进行操作的各种方法,如排序、复制、填充等,例如`Arrays.sort()`用于排序数组,`Arrays.copyOf()`用于复制数组。 2. **...

    ZipUtil文件压缩工具类

    在Java编程语言中,`ZipUtil`文件压缩工具类是一个非常实用的工具,它利用了Java内置的`java.util.zip`包中的`ZipEntry`类来实现文件或目录的压缩功能。`ZipUtil`通常被设计为一个静态类,提供一系列静态方法,使得...

    JAVA 视频工具类 可通过视频连接生成视频文件

    这个"JAVA 视频工具类 可通过视频连接生成视频文件"的资源提供了一种方便的方法来从网络链接下载并生成本地视频文件。下面将详细介绍这个工具类的核心功能以及可能涉及的相关知识点。 首先,这个工具类提供了两种...

    java工具类 utils.zip

    9. **FileUtil.java**:文件操作工具类,提供读写文件、创建目录、删除文件等方法。例如,`readFileToString(File file, String encoding)`用于读取文件内容,`deleteFile(String filePath)`用于删除文件。 10. **...

    Java文件同步程序

    Java文件同步程序是一种用于在多台服务器之间保持文件一致性的重要工具。这个程序允许用户高效地进行文件传输,确保数据在各个服务器之间的实时更新,对于分布式系统、云计算环境以及需要跨设备共享文件的团队来说尤...

    java持久化工具类:JavaBean与XML

    2. **映射文件**:定义Java对象和数据库表之间的映射关系,如Hibernate的`hbm.xml`文件,它指定了实体类与数据库表的对应字段及约束。 ### Hibernate Hibernate是一个流行的Java ORM框架,它简化了Java应用程序与...

    Excel POI 工具类

    在实际项目中,"POIutile_for_Excel"可能就是这样一个实现上述功能的工具类,它简化了与Excel文件交互的步骤,提高了开发效率。如果有特殊需求,开发者可以基于此工具类进行扩展或联系作者进行定制,以满足特定场景...

Global site tag (gtag.js) - Google Analytics