File类,用于操作文件对象。

package learning;

import java.io.File;

public class FileDemo {
	//File类,用于操作文件对象。练习:
	//列出给定目录中全部文件,包括子目录中的文件
	//批量修改给定目录下的文件后缀,如改为.txt
	public static void main(String[] args) throws Exception{
		File file=new File("D:"+File.separator);
		listDir(file);		//递归列出文件
		
		//约定最后一个"."开始为后缀名,无后缀的不做修改
		File f=new File("D:"+file.separator+"test"+File.separator);
		renameDir(f);
	}

	private static void listDir(File file) {
		if (file.isDirectory()) { // 是目录
			File[] results = file.listFiles();
			if (results != null) {
				for (int i = 0; i < results.length; i++) {
					listDir(results[i]); 
				}
			}
		} else {
			System.out.println(file); // 是文件,输出路径
		}
	}
	
	private static void renameDir(File file) {
		if (file.isDirectory()) { // 是目录
			File[] results = file.listFiles();
			if (results != null) {
				for (int i = 0; i < results.length; i++) {
					renameDir(results[i]); 
				}
			}
		} else {		// 是文件,修改后缀名
			if(file.getName().contains(".")) {
				String newName=file.getName().substring(0,	file.getName().lastIndexOf(".")	)+".txt";
				file.renameTo(new File(file.getParent(),newName));
			}
			else {
				return;
			}
		}	
	}
	
}
posted @   fighterk  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示