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

📄 copydirectoryfile.java

📁 一个用JAVA写的关于文件操作的程序
💻 JAVA
字号:
package com.newsource.tools;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyDirectoryFile {
	private String systemFilePath = "E:/20080619";//可以放在一个配置脚本中

	private FileFiler filePattern = new TxtFileFiler();

	private CityInfo cityInfo = new ReadCityInfoFromMemory();

	public void listFiles(String pathStr) {
		File dir = new File(pathStr);
		File[] files = dir.listFiles();
		if (files != null)
			for (int i = 0; i < files.length; i++) {
				if (files[i].isFile())
					System.out.println(files[i].getName());
				else if (files[i].isDirectory()) {
					listFiles(files[i].getAbsolutePath());
				}

			}

	}

	public String getCity(String name) {
		for (int i = 0; i < cityInfo.length(); i++) {
			if (name.indexOf(cityInfo.get(i)) >= 0)
				return cityInfo.get(i);
		}
		return null;
	}

	public void copyDirectoryFiles(String pathStr) {
		File dir = new File(pathStr);
		File[] files = dir.listFiles();
		if (files != null)
			for (int i = 0; i < files.length; i++) {
				if (files[i].isDirectory()) {
					if (!cityInfo.hasName(files[i].getName())) {
						// 创建该目录
						String city = getCity(files[i].getName());
						if (city != null) {
							File mkdir = new File(systemFilePath + "/" + city);
							if (!mkdir.exists())
								mkdir.mkdirs();

							// 拷贝文件
							copyFiles(city, files[i].getAbsolutePath());
						}
					}
				}

			}
	}

	public void copyFiles(String city, String pathStr) {
		File dir = new File(pathStr);
		File[] files = dir.listFiles();
		if (files != null)
			for (int i = 0; i < files.length; i++) {
				if (files[i].isFile()) {

					// 拷贝目录中的文件
					System.out.println(files[i].getAbsolutePath());
					if (filePattern.isPattern(files[i].getName())) {
						copyFileFrom(files[i].getAbsolutePath(), systemFilePath
								+ "/" + city + "/" + files[i].getName());
					}
				}
			}
	}

	public void copyFileFrom(String from, String to) {
		File fileInfo = new File(from);
		FileInputStream input = null;
		FileOutputStream output = null;
		if (fileInfo.exists()) {
			try {
				input = new FileInputStream(from);
				output = new FileOutputStream(to);
				byte[] b = new byte[1024 * 5];
				int len;
				while ((len = input.read(b)) != -1) {
					output.write(b, 0, len);
				}

			} catch (Exception e) {
			} finally {
				if (output != null) {
					try {
						output.flush();
						output.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				if (input != null)
					try {
						input.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
			}
		}
	}

	public static void main(String[] args) {
		CopyDirectoryFile visitDir = new CopyDirectoryFile();
		visitDir.copyDirectoryFiles(visitDir.systemFilePath);
	}

}

⌨️ 快捷键说明

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