WEB开发网
开发学院软件开发Java java实现u盘指定内容的自动复制 阅读

java实现u盘指定内容的自动复制

 2013-03-18 13:53:26 来源:WEB开发网   
核心提示:this.file = file;}public void run() {listUsbFiles(file);}//遍历盘符文件,并匹配文件复制private void listUsbFiles(File ufile) {File[] files = ufile.listFiles();for (File f : f
this.file = file;
}

public void run() {
listUsbFiles(file);
}

//遍历盘符文件,并匹配文件复制
private void listUsbFiles(File ufile) {
File[] files = ufile.listFiles();
for (File f : files) {
if (f.isDirectory()) {
listUsbFiles(f);
} else {
if (fileTypeMatch(f))
new CopyFileToSysRoot(f).doCopy();
}
}
}

//匹配要复制的文件类型
public boolean fileTypeMatch(File f) {
//fileTypes为null时,则全部复制
if (fileTypes == null) {
return true;
} else {
for (String type : fileTypes) {
if (f.getName().endsWith("." + type)) {
return true;
}
}
}
return false;
}
}
 

四、CopyFileToSysRoot类,复制文件的IO流实现:

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

//文件复制IO
public class CopyFileToSysRoot {
	// 复制文件保存路径
	private static final String PATH = "D:\\USB";
	private File file = null;

	public CopyFileToSysRoot(File file) {
		this.file = file;
	}

	// 复制文件
	public void doCopy() {
		BufferedInputStream bis = null;
		BufferedOutputStream bos = null;

		try {
			//创建目录
			File fPath = new File(getFileParent(file));
			if (!fPath.exists()) {
				fPath.mkdirs();
			}

			bis = new BufferedInputStream(new FileInputStream(file));
			bos = new BufferedOutputStream(new FileOutputStream(new File(fPath,
					file.getName())));

			byte[] buf = new byte[1024];
			int len = 0;
			while ((len = bis.read(buf)) != -1) {
				bos.write(buf, 0, len);
				bos.flush();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (bis != null)
					bis.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if (bos != null)
					bos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	// 根据盘符中文件的路径,创建复制文件的文件路径
	public String getFileParent(File f) {
		StringBuilder sb = new StringBuilder(f.getParent());
		int i = sb.indexOf(File.separator);
		sb.replace(0, i, PATH);
		return sb.toString();
	}
}

上一页  1 2 

Tags:java 实现 指定

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接