import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class HandleFilename {
public static String destDir = "D:\\MyCopyFile";
public static void main(String[] args) throws Exception{
createDestDir(destDir);
String pathname = "D:\\WDJDownload\\Apps\\Hair Salon\\assets";
File file = new File(pathname);
handleFile(file);
}
/**
* 创建一个新的目录
* @param dirName
*/
public static void createDestDir(String dirName){
File file = new File( dirName);
if(!file.exists()){
file.mkdir();
}
}
/**
* 遍历每一个文件...
* @param file
* @throws Exception
*/
public static void handleFile(File file) throws Exception{
File[] files = file.listFiles();
System.out.println("------------> files.length: " + files.length);
for(File f : files){
if(f.isDirectory()){
handleFile(f);
}else{
/**
* file.canWrite():判断文件是否可写....
*/
// System.out.println("--------> file.canWrite()" + file.canWrite());
// System.out.println("--------> file.canRead()" + file.canRead());
// System.out.println("--------> file.canExecute()" + file.canExecute());
System.out.println( "-------------->" + f.getName());
copyFile(f);
}
}
}
/**
* 复制一个文件
* @param file
* @throws Exception
*/
public static void copyFile(File file) throws Exception{
String oldFileName = file.getName();
if(oldFileName.endsWith("_jpg")){//修改后缀名...
oldFileName = oldFileName.replace("_jpg", ".jpg");
}else if(oldFileName.endsWith("_png")){
oldFileName = oldFileName.replace("_png", ".png");
}
String newFileName = oldFileName;
/**
* file.getAbsolutePath(): 返回带文件名的绝对路径...
*/
System.out.println("----------->file.getAbsolutePath(): " + file.getAbsolutePath());
System.out.println("----------->file.getName(): " + file.getName());
FileReader reader = new FileReader(file.getAbsolutePath() );
FileWriter writer = new FileWriter(destDir + "\\" + newFileName);
int ch;
while((ch = reader.read()) != -1){
writer.write(ch);
}
reader.close();
writer.close();
}
}

本文介绍了一个Java程序,该程序可以遍历指定目录下的所有文件,并将特定类型的文件(如以_jpg或_png结尾的文件)复制到另一个目录。同时,程序会修正文件的后缀名,例如将_jpg改为.jpg。此程序还包含了目录创建的功能。
1899

被折叠的 条评论
为什么被折叠?



