`
annewman
  • 浏览: 30661 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

文件常用操作

    博客分类:
  • File
阅读更多
import java.io.*;

public class FileOperate {
	public FileOperate() {
	}

	/**
	 * 新建目录
	 * 
	 * @param folderPath
	 *            String 如 c:/fqf
	 */
	public static void newFolder(String folderPath) {
		try {
			java.io.File myFilePath = new java.io.File(folderPath);
			if (!myFilePath.exists()) {
				myFilePath.mkdir();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 新建文件
	 * 
	 * @param filePathAndName
	 *            String 文件路径及名称 如c:/fqf.txt
	 * @param fileContent
	 *            String 文件内容
	 */
	public static void newFile(String filePath, String fileContent) {
		try {
			File myFilePath = new File(filePath);
			if (!myFilePath.exists()) {
				myFilePath.createNewFile();
			}
			FileWriter resultFile = new FileWriter(myFilePath);
			PrintWriter myFile = new PrintWriter(resultFile);
			String strContent = fileContent;
			myFile.println(strContent);
			resultFile.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 删除文件
	 * 
	 * @param filePathAndName
	 *            String 文件路径及名称 如c:/fqf.txt
	 */
	public static void delFile(String filePath) {
		try {
			filePath = filePath.toString();
			File myDelFile = new File(filePath);
			myDelFile.delete();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 删除文件夹
	 * 
	 * @param folderPath
	 *            String 文件夹路径及名称 如c:/fqf
	 */
	public static void delFolder(String folderPath) {
		try {
			delAllFile(folderPath); // 删除完里面所有内容
			java.io.File myFilePath = new java.io.File(folderPath);
			myFilePath.delete(); // 删除空文件夹

		} catch (Exception e) {
			System.out.println("删除文件夹操作出错");
			e.printStackTrace();

		}

	}

	/**
	 * 删除文件夹里面的所有文件
	 * 
	 * @param path
	 *            String 文件夹路径 如 c:/fqf
	 */
	public static void delAllFile(String path) {
		File file = new File(path);
		if (!file.exists()) {
			return;
		}
		if (!file.isDirectory()) {
			return;
		}
		String[] tempList = file.list();
		File temp = null;
		for (int i = 0; i < tempList.length; i++) {
			if (path.endsWith(File.separator)) {
				temp = new File(path + tempList[i]);
			} else {
				temp = new File(path + File.separator + tempList[i]);
			}
			if (temp.isFile()) {
				temp.delete();
			}
			if (temp.isDirectory()) {
				delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
				delFolder(path + "/" + tempList[i]);// 再删除空文件夹
			}
		}
	}

	/**
	 * 复制单个文件
	 * 
	 * @param oldPath
	 *            String 原文件路径 如:c:/fqf.txt
	 * @param newPath
	 *            String 复制后路径 如:f:/fqf.txt 或 f:/aa.txt
	 * @return boolean
	 */
	public static void copyFile(String oldPath, String newPath) {
		try {
			int bytesum = 0;
			int byteread = 0;
			File oldfile = new File(oldPath);
			if (oldfile.exists()) { // 文件存在时
				InputStream inStream = new FileInputStream(oldPath); // 读入原文件
				FileOutputStream fs = new FileOutputStream(newPath);
				byte[] buffer = new byte[1444];
				while ((byteread = inStream.read(buffer)) != -1) {
					bytesum += byteread; // 字节数 文件大小
					fs.write(buffer, 0, byteread);
				}
				inStream.close();
			}
		} catch (Exception e) {
			System.out.println("复制单个文件操作出错");
			e.printStackTrace();

		}

	}

	/**
	 * 复制整个文件夹内容
	 * 
	 * @param oldPath
	 *            String 原文件路径 如:c:/fqf
	 * @param newPath
	 *            String 复制后路径 如:f:/fqf/ff
	 * @return boolean
	 */
	public static void copyFolder(String oldPath, String newPath) {

		try {
			(new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹
			File a = new File(oldPath);
			String[] file = a.list();
			File temp = null;
			for (int i = 0; i < file.length; i++) {
				if (oldPath.endsWith(File.separator)) {
					temp = new File(oldPath + file[i]);
				} else {
					temp = new File(oldPath + File.separator + file[i]);
				}

				if (temp.isFile()) {
					FileInputStream input = new FileInputStream(temp);
					FileOutputStream output = new FileOutputStream(newPath
							+ "/" + (temp.getName()).toString());
					byte[] b = new byte[1024 * 5];
					int len;
					while ((len = input.read(b)) != -1) {
						output.write(b, 0, len);
					}
					output.flush();
					output.close();
					input.close();
				}
				if (temp.isDirectory()) {// 如果是子文件夹
					copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
				}
			}
		} catch (Exception e) {
			System.out.println("复制整个文件夹内容操作出错");
			e.printStackTrace();

		}

	}

	/**
	 * 移动文件到指定目录
	 * 
	 * @param oldPath
	 *            String 如:c:/fqf.txt
	 * @param newPath
	 *            String 如:d:/fqf.txt
	 */
	public static void moveFile(String oldPath, String newPath) {
		copyFile(oldPath, newPath);
		delFile(oldPath);
	}

	/**
	 * 移动目录到指定目录
	 * 
	 * @param oldPath
	 *            String 如:c:/fqf
	 * @param newPath
	 *            String 如:d:/fqf
	 */
	public static void moveFolder(String oldPath, String newPath) {
		copyFolder(oldPath, newPath);
		delFolder(oldPath);
	}
	
	public static void main(String[] args) {
	/*	newFolder("E:/text");
		newFile("E:/text/test.txt","hello every body");
		delFile("E:/text/test.txt");
		delFolder("E:/text");
		copyFile("D:/yy.txt", "E:/aa.txt");
		copyFolder("D:/Test","E:/Test");
		moveFile("D:/Test/Test.xap","E:/aa.xap");
		moveFolder("D:/Test","E:/aa/test");*/
	}
}

 

分享到:
评论

相关推荐

    Ubuntu 常用文件操作命令

    Ubuntu 常用文件操作命令 Ubuntu 操作系统中,文件操作命令是非常重要的一部分。下面将对 Ubuntu 中常用的文件操作命令进行详细讲解。 1. 权限修改命令:chmod 在 Ubuntu 中,权限修改命令使用 chmod 命令来实现...

    Linux下传送文件常用命令

    ### Linux下传送文件常用命令 在Linux环境下,文件传输是一项非常重要的操作,特别是在不同系统(如Linux与Windows)之间进行文件传输时。本文将详细介绍在Linux系统中常用的文件传输命令,包括从Linux到Windows...

    C# INI 配置文件 常用操作 类库 (附源码)

    C# INI 配置文件 常用操作 类库 (附源码)

    Linux常用文件命令

    Linux提供了多种文件操作命令,包括cat、man、ln等。cat命令用于查看文件内容,man命令用于显示命令的用法,ln命令用于创建文件链接。使用ln命令可以创建硬链接和符号链接,硬链接用于创建文件的多个名称,符号链接...

    Linux常用配置文件及常用命令

    Linux是一个功能强大且灵活的操作系统,它提供了许多配置文件和命令来帮助用户管理和维护系统。在本节中,我们将介绍一些常用的Linux配置文件和命令,帮助用户更好地理解和掌握Linux系统。 配置文件 /etc/...

    Linux系统的基本操作及常用命令实验报告.doc

    常用的文件操作命令包括 touch 命令、rm 命令、cp 命令、mv 命令、cat 命令等。 系统询问与权限命令是 Linux 操作系统中最基本的命令之一。系统询问与权限命令包括系统登陆、系统退出、权限管理等。常用的系统询问...

    Linux文件操作最常用命令.pdf

    9. 查找操作命令: 查找文件可以使用`find`命令,如`find / -name filename`从根目录开始查找名为filename的文件。`grep`命令用于在文件内容中搜索指定的字符串,如`grep 'text' file.txt`会在file.txt文件中搜索...

    C语言处理文件常用操作

    在C语言中,处理文件通常涉及到打开文件、读取文件内容、写入文件内容以及关闭文件等操作。

    Linux常用命令教学视频

    04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...

    java处理文件常用操作

    在Java后端中处理文件通常涉及到文件的读取、写入、删除以及可能的文件流处理等操作。

    linux常用命令大全.pdf

    ### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...

    UNIX常用命令 UNIX常用命令

    UNIX常用命令详解 UNIX操作系统中,命令是用户与系统交互的基本方式。这些命令可以帮助用户管理文件和目录、 edits ...这些命令是UNIX系统中最基本也是最常用的命令,掌握这些命令可以帮助用户更好地管理文件和目录。

    DOS常用命令 EXE文件

    下面,我们将深入探讨一些DOS的常用命令以及它们在EXE文件中的应用。 1. **DIR**:这是一个用于列出当前目录下所有文件和子目录的命令。通过添加不同的参数,如`DIR /W`可以宽格式显示,`DIR /P`分页显示,或者`DIR...

    linux文件系统详解及常用命令

    Linux 文件系统详解及常用命令 Linux 文件系统是 Linux 操作系统的核心组件之一,它提供了文件存储和管理的机制。Linux 文件系统的结构是一个...了解 Linux 文件系统的结构和常用命令是使用 Linux 操作系统的基础。

    08_文件和目录常用命令.html

    08_文件和目录常用命令.html

    Linux基本命令与常用命令大全

    网络操作命令包括`ping`测试网络连通性,`ifconfig`显示或配置网络接口,`curl`和`wget`用于下载网络资源。`ssh`命令提供安全的远程登录功能。 在软件安装和管理上,`apt`(Debian/Ubuntu)和`yum`(RHEL/CentOS)...

    MySQL导入.sql文件及常用命令

    MySQL 导入.sql 文件及常用命令 MySQL 是一种关系型数据库管理系统,广泛应用于 Web 应用程序中。 MySQL 中有多种方式可以导入.sql 文件,并且提供了许多常用命令来管理和维护数据库。 一、导入.sql 文件 在 ...

    Linux操作系统的常用命令

    Linux 操作系统的常用命令 Linux 操作系统提供了许多实用的命令来帮助用户管理和操作文件、目录、网络等。以下是 Linux 操作系统中的一些常用命令的总结: 文件和目录操作 * ls 命令:用于查看当前目录下的文件和...

    SSH远程管理Linux常用命令文件上传下载.docx

    SSH 远程管理 Linux 常用命令文件上传下载 一、SSH 基础知识 SSH(Secure Shell)是一种安全的远程登录协议,使用加密技术来保护数据的传输。 SSH 客户端软件可以连接到 SSH 服务器,实现远程管理和文件传输。 ...

    JAVAWEB各种配置文件加常用操作

    JAVAWEB各种配置文件加常用操作(spring strut2 jpa hibernate jdbc jndi springMVC velocity ant log4j ehcache等各种配置文件及常用操作),相信对你的开发一定会有很大的帮助!

Global site tag (gtag.js) - Google Analytics