求各位前辈指导,谢谢了

lizi8381173 2012-12-17 04:21:54
写一个工具,要求:

对指定路径下的文件(包括其所有子目录)进行操作,将文件名中含有”.”的字符转成”_”

例如:XXX/XXX/XXX 目录下有 “数学_7上 1.1 1 正数与负数的概念--T1.flv” 文件
转成:XXX/XXX/XXX 目录下 “数学_7上 1_1 1 正数与负数的概念--T1.flv”
...全文
181 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizi8381173 2012-12-18
  • 打赏
  • 举报
回复
引用 2 楼 yongger520 的回复:
用递归找出所有子目录 然后用namefilter 加正则表达式过滤出所有带.的文件夹 然后再修改文件名
恩 思路是一样的 非常感谢
lizi8381173 2012-12-18
  • 打赏
  • 举报
回复
引用 1 楼 faping_cao 的回复:
我比较好奇的是 aaa.bbb(.bbb不是文件后缀名) aaa.flv 我怎么区分?
每个文件都有后缀名的,所以不存在你说的问题。
lizi8381173 2012-12-18
  • 打赏
  • 举报
回复
引用 4 楼 abstruct 的回复:
作业题自己也多思考一下嘛 Java code?123456789101112131415161718192021222324252627package com.study.test; import java.io.File; public class Test { public static void main(String[] args) { ……
ok,非常感谢,我自己写出来了。
  • 打赏
  • 举报
回复
public class StackWord {
    public static void main(String[] args){
    	subString("D:\\log");
        }

    
    public static void subString(String filePath){
		File file = new File(filePath);
		File [] filelist = file.listFiles();
		for(int i=0;i<filelist.length;i++){
			String str = filelist[i].getName().substring(filelist[i].getName().lastIndexOf("."));
			System.out.println(filelist[i].getName().substring(0, filelist[i].getName().length()-str.length())); 
		}
	}
}
安特矮油 2012-12-17
  • 打赏
  • 举报
回复
作业题自己也多思考一下嘛

package com.study.test;

import java.io.File;


public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\1");
		reName(file);
	}
	
	public static void reName(File file){
		if(file.isDirectory()){
			File[] files = file.listFiles();
			for(File f : files){
				reName(f);
			}
		}else{
			String fileName = file.getName();
			String ex = fileName.substring(fileName.lastIndexOf("."));
			fileName = fileName.substring(0, fileName.lastIndexOf("."));
			fileName = fileName.replaceAll("\\.", "_");
			file.renameTo(new File(file.getParent() + File.separator + fileName + ex));
		}
	}
}
suciver 2012-12-17
  • 打赏
  • 举报
回复
所有.转换成_那后缀名的那个.也要转吗。
faping_cao 2012-12-17
  • 打赏
  • 举报
回复
我比较好奇的是 aaa.bbb(.bbb不是文件后缀名) aaa.flv 我怎么区分?
yongger520 2012-12-17
  • 打赏
  • 举报
回复
用递归找出所有子目录 然后用namefilter 加正则表达式过滤出所有带.的文件夹 然后再修改文件名

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧