目录操作工具类 CopyDir.java
- package com.util;
- import java.io.*;
- /**
- * 1,建立目的目录。 2,遍历源目录。 3,遍历过程中,创建文件或者文件夹。 原理:其实就是改变了源文件或者目录的目录头。
- * @datetime Dsc 24
- */
- public class CopyDir {
- private File sDir, dDir, newDir;
- public CopyDir(String s, String d) {
- this(new File(s), new File(d));
- }
- CopyDir(File sDir, File dDir)// c:\\Test d:\\abc
- {
- this.sDir = sDir;
- this.dDir = dDir;
- }
- public void copyDir() throws IOException {
- // 是创建目的目录。也就是创建要拷贝的源文件夹。Test
- // 获取源文件夹名称。
- String name = sDir.getName();
- // 通过该名称在目的目录创建该文件夹,为了存放源文件夹中的文件或者文件夹。
- // 将目的目录和源文件夹名称,封装成File对象。
- newDir = dDir;
- // new File(dDir,name);
- // 调用该对象的mkdir方法。在目的目录创建该文件夹。d:\\abc\\Test
- newDir.mkdir();//
- // 遍历源文件夹。
- listAll(sDir);
- }
- /*
- * 将遍历目录封装成方法。 在遍历过程中,遇到文件创建文件。 遇到目录创建目录。
- */
- private void listAll(File dir) throws IOException {
- File[] files = dir.listFiles();
- for (int x = 0; x < files.length; x++) {
- if (files[x].isDirectory()) {
- createDir(files[x]);// 调用创建目录的方法。
- listAll(files[x]);// 在继续进行递归。进入子级目录。
- } else {
- createFile(files[x]);// 调用创建文件的方法。
- }
- }
- }
- /*
- * copy目录。通过源目录在目的目录创建新目录。
- */
- private void createDir(File dir) {
- File d = replaceFile(dir);
- d.mkdir();
- }
- /*
- * copy文件。
- */
- private void createFile(File file) throws IOException {
- File newFile = replaceFile(file);
- // copy文件是一个数据数据传输的过程。需要通过流来完成。
- FileInputStream fis = new FileInputStream(file);
- FileOutputStream fos = new FileOutputStream(newFile);
- byte[] buf = new byte[1024 * 2];
- int num = 0;
- while ((num = fis.read(buf)) != -1) {
- fos.write(buf, 0, num);
- }
- fos.close();
- fis.close();
- }
- /*
- * 替换路径。
- */
- private File replaceFile(File f) {
- // 原理是:将源目录的父目录(C:\\Tset),替换成目的父目录。(d:\\abc\\Test)
- String path = f.getAbsolutePath();// 获取源文件或者文件夹的决定路径。
- // 将源文件或者文件夹的绝对路径替换成目的路径。
- String newPath = path.replace(sDir.getAbsolutePath(), newDir
- .getAbsolutePath());
- // 将新的目的路径封装成File对象
- File newFile = new File(newPath);
- return newFile;
- }
- }
文件/目录部分处理工具类 DealDir.java
- package com.util;
- import java.io.File;
- import java.util.StringTokenizer;
- /**
- * 文件/目录 部分处理
- * @createTime Dec 25, 2010 7:06:58 AM
- * @version 1.0
- */
- public class DealDir {
- /**
- * 获取文件的后缀名并转化成大写
- *
- * @param fileName
- * 文件名
- * @return
- */
- public String getFileSuffix(String fileName) throws Exception {
- return fileName.substring(fileName.lastIndexOf(".") + 1,
- fileName.length()).toUpperCase();
- }
- /**
- * 创建多级目录
- *
- * @param path
- * 目录的绝对路径
- */
- public void createMultilevelDir(String path) {
- try {
- StringTokenizer st = new StringTokenizer(path, "/");
- String path1 = st.nextToken() + "/";
- String path2 = path1;
- while (st.hasMoreTokens()) {
- path1 = st.nextToken() + "/";
- path2 += path1;
- File inbox = new File(path2);
- if (!inbox.exists())
- inbox.mkdir();
- }
- } catch (Exception e) {
- System.out.println("目录创建失败" + e);
- e.printStackTrace();
- }
- }
- /**
- * 删除文件/目录(递归删除文件/目录)
- *
- * @param path
- * 文件或文件夹的绝对路径
- */
- public void deleteAll(String dirpath) {
- if (dirpath == null) {
- System.out.println("目录为空");
- } else {
- File path = new File(dirpath);
- try {
- if (!path.exists())
- return;// 目录不存在退出
- if (path.isFile()) // 如果是文件删除
- {
- path.delete();
- return;
- }
- File[] files = path.listFiles();// 如果目录中有文件递归删除文件
- for (int i = 0; i < files.length; i++) {
- deleteAll(files[i].getAbsolutePath());
- }
- path.delete();
- } catch (Exception e) {
- System.out.println("文件/目录 删除失败" + e);
- e.printStackTrace();
- }
- }
- }
- /**
- * 文件/目录 重命名
- *
- * @param oldPath
- * 原有路径(绝对路径)
- * @param newPath
- * 更新路径
- * @author lyf 注:不能修改上层次的目录
- */
- public void renameDir(String oldPath, String newPath) {
- File oldFile = new File(oldPath);// 文件或目录
- File newFile = new File(newPath);// 文件或目录
- try {
- boolean success = oldFile.renameTo(newFile);// 重命名
- if (!success) {
- System.out.println("重命名失败");
- } else {
- System.out.println("重命名成功");
- }
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
目录处理工具类 DealWithDir.java
- package com.util;
- import java.io.File;
- /**
- * 目录处理工具类
- *
- */
- public class DealWithDir {
- /**
- * 新建目录
- */
- public static boolean newDir(String path) throws Exception {
- File file = new File(path);
- return file.mkdirs();//创建目录
- }
- /**
- * 删除目录
- */
- public static boolean deleteDir(String path) throws Exception {
- File file = new File(path);
- if (!file.exists())
- return false;// 目录不存在退出
- if (file.isFile()) // 如果是文件删除
- {
- file.delete();
- return false;
- }
- File[] files = file.listFiles();// 如果目录中有文件递归删除文件
- for (int i = 0; i < files.length; i++) {
- deleteDir(files[i].getAbsolutePath());
- }
- file.delete();
- return file.delete();//删除目录
- }
- /**
- * 更新目录
- */
- public static boolean updateDir(String path, String newPath) throws Exception {
- File file = new File(path);
- File newFile = new File(newPath);
- return file.renameTo(newFile);
- }
- public static void main(String d[]) throws Exception{
- //deleteDir("d:/ff/dddf");
- updateDir("D:\\TOOLS\\Tomcat 6.0\\webapps\\BCCCSM\\nationalExperiment/22222", "D:\\TOOLS\\Tomcat 6.0\\webapps\\BCCCSM\\nationalExperiment/224222");
- }
- }
删除文件夹工具类 DeleteFolder.java
- package com.util;
- import java.io.File;
- /**
- * 删除文件夹
- * @createTime DSC 20, 2010 15:38
- * @version 2.0
- */
- public class DeleteFolder {
- // 删除文件夹
- // param folderPath 文件夹完整绝对路径
- public static void delFolder(String folderPath) {
- try {
- delAllFile(folderPath); // 删除完里面所有内容
- String filePath = folderPath;
- filePath = filePath.toString();
- java.io.File myFilePath = new java.io.File(filePath);
- myFilePath.delete(); // 删除空文件夹
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- // 删除指定文件夹下所有文件
- // param path 文件夹完整绝对路径
- public static boolean delAllFile(String path) {
- boolean flag = false;
- File file = new File(path);
- if (!file.exists()) {
- return flag;
- }
- if (!file.isDirectory()) {
- return flag;
- }
- 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]);// 再删除空文件夹
- flag = true;
- }
- }
- return flag;
- }
- }
文件上传工具类 UploadUtil.java
- package com.util;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Calendar;
- /**
- * 文件上传工具类
- *
- */
- public class UploadUtil {
- private static final int BUFFER_SIZE = 16 * 1024;
- //保存图片
- public static synchronized void copy(File src, File newFile) {
- try {
- InputStream is = null;
- OutputStream os = null;
- try {
- is = new BufferedInputStream(new FileInputStream(src),
- BUFFER_SIZE);
- os = new BufferedOutputStream(new FileOutputStream(newFile),
- BUFFER_SIZE);
- byte[] buffer = new byte[BUFFER_SIZE];
- while (is.read(buffer) > 0) {
- os.write(buffer);
- }
- } finally {
- if (null != is) {
- is.close();
- }
- if (null != os) {
- os.close();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 返回 年号+月号+天+时+分+秒+随机码
- * @return
- */
- @SuppressWarnings("static-access")
- public static synchronized String getTime() {
- Calendar calendar = Calendar.getInstance();
- String year = calendar.get(calendar.YEAR) + "";
- String month = (calendar.get(calendar.MONTH) + 1) + "";
- String day = calendar.get(calendar.DAY_OF_MONTH) + "";
- String hour = calendar.get(calendar.HOUR_OF_DAY) + "";
- String minute = calendar.get(calendar.MINUTE) + "";
- String second = calendar.get(calendar.SECOND) + "";
- String milliSecond = calendar.get(calendar.MILLISECOND) + "";
- int r = (int)(Math.random()*100000);
- String random = String.valueOf(r);
- return year + month + day + hour + minute + second + milliSecond + random+"a";
- }
- }
相关推荐
文件操作工具类,包含生成保存,复制,删除,读取,获取文件名,获取文件列表等等,只有你想不到,没有你找不到的Android端工具类,复制到项目中可直接使用
"C++文件操作工具类"是一个专门为C++开发者设计的实用工具,它简化了对文件进行读写、创建、删除等操作的过程。 首先,我们要理解C++中的文件操作基本概念。C++通过标准库中的`fstream`头文件提供了一套接口,允许...
java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。
此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作
集成创建文件,创建目录,删除单个文件,删除单个目录,删除文件夹里内容,复制文件,复制文件夹,剪切文件,剪切文件夹等操作方法. 特上传分享
java 文件操作工具类
本篇将详细讲解一个基于Java的Excel文件操作工具类,它具备读取、写入以及合并Excel文件等多种功能。 首先,让我们了解一下这个工具类的核心功能: 1. **读取Excel文件**: 工具类提供了一个方法来读取Excel文件...
file文件操作工具类,可以处理所有文件相关的操作,快速开发文件处理模块
C# .net 文件操作工具类
Android文件操作工具类FileUtil详解 在Android开发中,文件操作是非常重要的一部分,涵盖了文件的获取、遍历、搜索、复制、删除、判断等多种功能。为了方便开发者更好地进行文件操作,今天我们将详细介绍Android...
文件操作工具类,包含判断文件编码适合windows和linux,文件压缩打包,判断文件格式,拷贝文件等内容
文件操作工具类,支持文件上传和下载及断点续传
java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...
javaio文件操作工具类,集成小部分对目录操作的方法,平时工作中学习中总结的部分方法方便大家使用~不妥之处望大家指教谢谢~!