package com.malijun.files;
import java.io.*;
import java.util.*;
import java.util.regex.*;
public class ListFiles {
import java.io.*;
import java.util.*;
import java.util.regex.*;
public class ListFiles {
/**
* @param args
*/
public static void main(String[] args) {
String path=getPath();
ListFiles lf=new ListFiles();
lf.getFileNames(new File(path));
}
private static String getPath() {
System.out.println("请输入文件的路径:");
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String s;
try {
if((s = in.readLine()) != null && s.length() != 0)
return s;
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
// TODO 自动生成方法存根
return null;
}
public void getFileNames(File file){
File list[]=file.listFiles();
for(int i=0;i<list.length;i++){
if(list[i].isFile()){
String fileName=list[i].getName();
fileName=fileName.trim();
if(isStartNum(fileName)&&isEndJPG(fileName)&&fileName.length()>10){
File filedst=new File("J:\\pic05",fileName.substring(0,10)+".jpg");
list[i].renameTo(filedst);
System.out.println(list[i].getName());
}
else if(isStartCH(fileName)&&isEndJPG(fileName)&&fileName.length()>14){
int len=fileName.length();
String filedstName=fileName.substring(len-14);
File filedst=new File("J:\\pic05\\1",filedstName);
list[i].renameTo(filedst);
System.out.println(fileName);
}
/* String regEx = "^[0-9]";
if((list[i].getName()).matches(regEx)){
System.out.println(list[i].getName());
}*/
}
else if(list[i].isDirectory()){
System.out.println("++"+list[i].getName()+"++");
getFileNames(list[i]);
}
}
//out.println("<br><font color=#ff0000>" + path + "目录下的目录:</font><br>");
/* for(int i=0;i<list.length;i++){
if(list[i].isDirectory()){
System.out.println(list[i].getName());
}*/
//out.println(list<I>.getName() + "<br>");
* @param args
*/
public static void main(String[] args) {
String path=getPath();
ListFiles lf=new ListFiles();
lf.getFileNames(new File(path));
}
private static String getPath() {
System.out.println("请输入文件的路径:");
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String s;
try {
if((s = in.readLine()) != null && s.length() != 0)
return s;
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
// TODO 自动生成方法存根
return null;
}
public void getFileNames(File file){
File list[]=file.listFiles();
for(int i=0;i<list.length;i++){
if(list[i].isFile()){
String fileName=list[i].getName();
fileName=fileName.trim();
if(isStartNum(fileName)&&isEndJPG(fileName)&&fileName.length()>10){
File filedst=new File("J:\\pic05",fileName.substring(0,10)+".jpg");
list[i].renameTo(filedst);
System.out.println(list[i].getName());
}
else if(isStartCH(fileName)&&isEndJPG(fileName)&&fileName.length()>14){
int len=fileName.length();
String filedstName=fileName.substring(len-14);
File filedst=new File("J:\\pic05\\1",filedstName);
list[i].renameTo(filedst);
System.out.println(fileName);
}
/* String regEx = "^[0-9]";
if((list[i].getName()).matches(regEx)){
System.out.println(list[i].getName());
}*/
}
else if(list[i].isDirectory()){
System.out.println("++"+list[i].getName()+"++");
getFileNames(list[i]);
}
}
//out.println("<br><font color=#ff0000>" + path + "目录下的目录:</font><br>");
/* for(int i=0;i<list.length;i++){
if(list[i].isDirectory()){
System.out.println(list[i].getName());
}*/
//out.println(list<I>.getName() + "<br>");
// TODO 自动生成方法存根
}
private boolean isStartNum(String name) {
String regEx = "^[0-9]"; //匹配以数字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
private boolean isStartCH(String name) {
String regEx = "^[\u4e00-\u9fa5]"; //匹配以汉字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
private boolean isEndJPG(String name) {
String regEx = ".+\\.JPG$"; //匹配以汉字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
/* private boolean isEndNum(String name) {
String regEx = "[0-9]$"; //匹配以数字结尾的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}*/
}
private boolean isStartNum(String name) {
String regEx = "^[0-9]"; //匹配以数字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
private boolean isStartCH(String name) {
String regEx = "^[\u4e00-\u9fa5]"; //匹配以汉字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
private boolean isEndJPG(String name) {
String regEx = ".+\\.JPG$"; //匹配以汉字开始的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}
/* private boolean isEndNum(String name) {
String regEx = "[0-9]$"; //匹配以数字结尾的string
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(name);
return m.find();
// TODO 自动生成方法存根
}*/
}