java修改目录及其子目录子文件的名字

import java.util.*;
import java.io.*;

public class Main {
	public static void main(String args[]) {new Main().run();}

	void run(){
		work();
	}

	String path="D:\\root";
	String[] S=new String[] {"key_word1","key_word2"}; //文件名要删除的关键字
	void work() {
		File file=new File(path);
		dfs(file);
	}
	private void dfs(File file) {
		String cur=file.getAbsolutePath();
		String pre=cur;
		for(String str:S) {
			if(cur.contains(str)) {
				int s=cur.lastIndexOf(str);
				int e=s+str.length();
				cur=cur.substring(0,s)+cur.substring(e);
			}
		}
		if(!pre.equals(cur)) {
			File nf=new File(cur);
			//file改名之后就不存在了,其内部还是对应原来路径,所以赋一个新的File对象,才能执行下面file.list()方法;
			//有时候重名,后者资源被其他进程占用会导致改名失败
			boolean f=file.renameTo(nf);
			System.out.println("exists="+file.exists());
			System.out.println(f);
			if(f)file=nf;
		}
		
		String[] strs=file.list();
		if(strs!=null) {
			for(String str:strs) {
				File f=new File(cur+"\\"+str);
				dfs(f);
			}
		}
	}
}	

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改Linux目录文件的权限和所有权,可以使用chmod和chown命令。 1. 修改文件目录的权限 chmod命令可以修改文件目录的权限。它的语法如下: ``` chmod [选项] 模式 文件目录 ``` 其中,模式表示文件目录的权限,可以用数字或符号表示。数字表示法中,每个数字代表一组权限:第一个数字代表所有者的权限,第二个数字代表同组用户的权限,第三个数字代表其他用户的权限。每个数字由三个二进制数字组成,分别表示读、写、执行权限,其中1表示有该权限,0表示没有该权限。例如,数字7表示所有者、同组用户和其他用户都有读、写、执行权限,即111。 符号表示法中,用r、w、x表示读、写、执行权限,用u、g、o表示所有者、同组用户、其他用户。例如,u+rwx表示给所有者添加读、写、执行权限。 以下是一些常用的chmod选项: - -R:递归修改目录及其子目录的权限。 - +:添加权限。 - -:删除权限。 - =:设置权限。 例如,要将目录/tmp的权限设置为所有者有读、写、执行权限,同组用户和其他用户只有读、执行权限,可以使用以下命令: ``` chmod 755 /tmp ``` 2. 修改文件目录的所有权 chown命令可以修改文件目录的所有权。它的语法如下: ``` chown [选项] 用户[:组] 文件目录 ``` 其中,用户表示新的所有者,组表示新的所属组。如果不指定组,则默认为用户的主组。 以下是一些常用的chown选项: - -R:递归修改目录及其子目录的所有权。 例如,要将文件/tmp/test.txt的所有者修改为用户“john”,所属组修改为“users”,可以使用以下命令: ``` chown john:users /tmp/test.txt ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值