1,获取文件夹下所有文件名。
2,将符合要求的文件复制出来。
package com;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileName {
/**
* @param args
* @throws Exception
*/
public static void fileTest(File file, String temp) {
// 是文件的情况
if (file.isFile()) {
System.out.print("文件 :" + file.getName() + "\t");
}// 是目录的情况
else {
File[] files = file.listFiles();
for (File fileTemp : files) {
if (fileTemp.isDirectory()) {
System.out.println(temp + "目录 :" + fileTemp.getName()
+ "\t");
fileTest(fileTemp, temp + "\t");
} else {
if (fileTemp.getName().length() == 11) {
System.out.println(temp + "文件 :"
+ fileTemp.getName().substring(0, 5) + "\t");
System.out.println(fileTemp.getName().substring(7));
String fileName = fileTemp.getName().substring(0, 5)
+ fileTemp.getName().substring(7);
System.out.println(fileName);
String c = fileTemp.getParent();
File mm = new File("D:\\" + fileName); //复制文件后要放到哪个目录。
File mm2 = new File("D:\\www\\" + fileName); //留在的文件夹。
if (fileName.equals("ABCDE.txt")) {
if (fileTemp.renameTo(mm)) {
System.out.println("修改成功!");
FileName fs = new FileName();
try {
fs.CopyFile(mm, mm2);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
System.out.println("修改失败");
}
}
}
}
}
}
}
public void CopyFile(File in, File out) throws Exception {
FileInputStream fis = new FileInputStream(in);
FileOutputStream fos = new FileOutputStream(out);
byte[] buf = new byte[1024];
int i = 0;
while((i=fis.read(buf))!=-1) {
fos.write(buf, 0, i);
}
fis.close();
fos.close();
}
public static void main(String[] args) {
// newFile中输入文件夹路径 new File(path);
File file = new File("D:/www"); //上来要进去的文件夹。
fileTest(file, "");
}
}