Java学习之IO之File类二

时间:2024-10-29 16:04:26

之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现

 package com.gh.file;

 import java.io.File;

 /**
* 批量文件命名
*
* @author ganhang
*
*/
public class FileRename {
public static String filepath = "F:\\学习\\JAVA\\JAVA_SE";// 要批量重命名的文件夹的地址
public static void main(String[] args) {
File file = new File(filepath);
File[] fileArrays = file.listFiles();
// 输出文件数量
System.out.println(fileArrays.length);
for (File f : fileArrays)
{
String filename = f.getName();
int len=0;
String newfileName = null;
if(filename.startsWith("**********JAVA.SE视频")){//避免广告用*代替了
len="**********JAVA.SE视频".length();
newfileName="Java"+filename.substring(len);
}
else if(filename.startsWith("******_JAVA基础")){
len="******_JAVA基础".length();
newfileName="Java"+filename.substring(len);
}
f.renameTo(new File(filepath+File.separator+newfileName));//重命名
}
File[] fileArrays1 = file.listFiles();//输出文件名看看
for (File fs : fileArrays1) {
System.out.println(fs.getName());
}
}
}

还有两个作业,补在这后面吧;

 package com.gh.homework;

 import java.io.File;

 /**
* 查找指定目录下以指定后缀名结尾的文件;
*
* @author ganhang
*
*/
public class FileDemo {
public static void findfile(File file, String extsName) {
if (file == null)
return;
if (file.isDirectory()) {
File[] fs = file.listFiles();
if (fs != null) {
for (File file2 : fs) {
findfile(file2, extsName);// 递归实现;
}
}
} else {
String path = file.getPath();
if (path.endsWith(extsName)) {
System.out.println(file.getPath());
}
}
} // 查找d盘下所有txt文件 输出路径;
public static void main(String[] args) {
File file = new File("d:\\");
String extsName = ".txt";
findfile(file, extsName);
}
}
package com.gh.homework;

import java.io.File;

/**
* 删除指定目录下以指定后缀名结尾的文件;
*
* @author ganhang
*
*/
public class FileDeleteDemo {
public static void deletefile(File file, String extsName) {
if (file == null)
return;
if (file.isDirectory()) {
if(file.length()==0){
file.delete();
System.out.println("已删除"+file.getPath());
}
File[] fs = file.listFiles();
if (fs != null) {
for (File file2 : fs) {
deletefile(file2, extsName);// 递归实现;
}
}
} else {
String path = file.getPath().toLowerCase();
if (path.endsWith(extsName)) {
//file.delete();
//System.out.println("已删除"+file.getPath());
}
}
} // 删除d盘下所有txt文件 输出路径;
public static void main(String[] args) {
File file = new File("f:\\");
String extsName = ".txt";
deletefile(file, extsName);
}
}