⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileoperate.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.util.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Administrator
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class FileOperate {

	public static void copyFileToFolder(String fileName, String folderName)
			throws Exception {
		try {
			File file = new File(fileName);
			if (file.isFile()) {
				if (!folderName.endsWith("\\"))
					folderName += "\\";
				FileInputStream fis = new FileInputStream(file);
				byte[] fileContent = new byte[fis.available()];
				fis.read(fileContent);
				String path = folderName + file.getName();
				FileOutputStream fos = new FileOutputStream(path);
				fos.write(fileContent);
				fis.close();
				fos.close();
			} else {
				throw new Exception(fileName
						+ " is not a file or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

	public static void cutFileToFolder(String fileName, String folderName)
			throws Exception {
		try {
			File file = new File(fileName);
			if (file.isFile()) {
				copyFileToFolder(fileName, folderName);
				file.delete();
			} else {
				throw new Exception(fileName
						+ " is not a file or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

	public static void copyFolderFilesToOtherFolder(String oldFolderName,
			String folderName) throws Exception {
		try {
			String strMsg = "";
			File file = new File(oldFolderName);
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (int i = 0; i < files.length; i++) {
					if (files[i].isFile()) {
						try {
							copyFileToFolder(files[i].getPath(), folderName);
						} catch (Exception ee) {
							strMsg += "copy file<<" + files[i].getPath()
									+ ">> error,message:" + ee.getMessage()
									+ "\r\n";
						}
					}
				}
				if (!strMsg.equals("")) {
					throw new Exception(strMsg);
				}
			} else {
				throw new Exception(oldFolderName
						+ " is not a directory or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

	public static void cutFolderFilesToOtherFolder(String oldFolderName,
			String folderName) throws Exception {
		try {
			String strMsg = "";
			File file = new File(oldFolderName);
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (int i = 0; i < files.length; i++) {
					if (files[i].isFile()) {
						try {
							cutFileToFolder(files[i].getPath(), folderName);
						} catch (Exception ee) {
							strMsg += "cut file<<" + files[i].getPath()
									+ ">> error,message:" + ee.getMessage()
									+ "\r\n";
						}
					}
				}
				if (!strMsg.equals("")) {
					throw new Exception(strMsg);
				}
			} else {
				throw new Exception(oldFolderName
						+ " is not a directory or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

	public static void deleteAllFilesInFolder(String folderName)
			throws Exception {
		try {
			String strMsg = "";
			File file = new File(folderName);
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (int i = 0; i < files.length; i++) {
					files[i].delete();
				}
			} else {
				throw new Exception(folderName
						+ " is not a directory or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

	public static void writeFile(String fileFullName, String content,
			boolean overwrite) throws IOException {

		if (fileFullName != null) {
			String path = fileFullName.substring(0, fileFullName
					.lastIndexOf("/"));
			if (!(new File(path).isDirectory())) {
				new File(path).mkdirs();
			}
		}
		File file = new File(fileFullName);
		FileWriter writer = new FileWriter(file);
		if (overwrite) {
			writer.write(content);
		} else {
			writer.write(content);
		}
		writer.flush();
		writer.close();
	}

	public static void writeFileUTF(String fileFullName, String content,
			boolean overwrite) throws IOException {

		if (fileFullName != null) {
			String path = fileFullName.substring(0, fileFullName
					.lastIndexOf("/"));
			if (!(new File(path).isDirectory())) {
				new File(path).mkdirs();
			}
		}
		OutputStream os = new FileOutputStream(fileFullName);
		OutputStreamWriter writer = new OutputStreamWriter(os, "UTF-8");
		if (overwrite) {
			writer.write(content);
		} else {
			writer.write(content);
		}
		writer.flush();
		writer.close();
	}

	public static void writeFile(String fileFullName, File file)
			throws Exception {
		if (file != null) {
			FileOutputStream outputStream = new FileOutputStream(fileFullName);

			FileInputStream fileIn = new FileInputStream(file);

			byte[] buffer = new byte[1024];
			int len;
			while ((len = fileIn.read(buffer)) > 0) {
				outputStream.write(buffer, 0, len);
			}

			fileIn.close();
			outputStream.close();
		}
	}

	public static ArrayList SplitTxtToArray(String fileFullName)
			throws Exception {
		ArrayList txt = new ArrayList();
		File file = new File(fileFullName);
		BufferedReader in = new BufferedReader(new FileReader(file));
		String strLine = "";
		while ((strLine = in.readLine()) != null) {
			txt.add(strLine);
		}
		return txt;
	}

	public static ArrayList getFolderAllFileName(String folderName)
			throws Exception {
		ArrayList fileNamelist = new ArrayList();
		try {
			String strMsg = "";
			File file = new File(folderName);
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (int i = 0; i < files.length; i++) {
					fileNamelist.add(files[i].getName());
				}
			} else {
				throw new Exception(folderName
						+ " is not a directory or it is not exist!");
			}
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
		return fileNamelist;
	}

	public static final String getFileContentAsStringUTF(String fileFullName)
			throws Exception {
		File file = new File(fileFullName);
		StringBuffer sb = new StringBuffer();
		InputStreamReader input = new InputStreamReader(new FileInputStream(file),"utf-8");
		BufferedReader in = new BufferedReader(input);
		String strLine = "";
		while ((strLine = in.readLine()) != null) {
			sb.append(strLine);
			sb.append("\n");
		}
		return sb.toString();
	}

	public static final String getFileContentAsString(String fileFullName)
			throws Exception {
		File file = new File(fileFullName);
		StringBuffer sb = new StringBuffer();
		BufferedReader in = new BufferedReader(new FileReader(file));
		String strLine = "";
		while ((strLine = in.readLine()) != null) {
			sb.append(strLine);
			sb.append("\n");
		}
		return sb.toString();
	}

	public static File[] getAllFilesInFolder(String folderName) {
		return getAllFilesInFolderByExtension(folderName, "");
	}

	public static File[] getAllFilesInFolderByExtension(String folderName,
			String extension) {
		File dir = new File(folderName);
		if (dir.isDirectory()) {
			Collection rtn = new ArrayList();
			File[] files = dir.listFiles();

			if (extension != null && extension.trim().length() > 0) {
				for (int i = 0; i < files.length; i++) {
					if (files[i].getName().indexOf("." + extension) != -1) {
						rtn.add(files[i]);
					}
				}
				return (File[]) rtn.toArray(new File[rtn.size()]);
			} else {
				return files;
			}
		}

		return new File[0];
	}

	public static void main(String[] args) {
		try {
			FileOperate.cutFolderFilesToOtherFolder("D:\\test", "d:\\yhp");
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -