批量替换文件字符

 1  1 import java.io.File;
 2  2 import java.util.Scanner;
 3  3 //批量替换文件名字符
 4  4 public class Test07 {
 5  6     public static void reName() {
 6  7         while (true) {
 7  8             Scanner sc = new Scanner(System.in);
 8  9             String filePath = "";// 输入路径
 9 10             File file = new File("");// File对象
10 11             String dirPath = null;// 绝对路径
11 12             // isDirectory() 测试此抽象路径名表示的文件是否是一个目录
12 13             while (!file.isDirectory()) {
13 14                 System.out.println("请输入你想要查看的文件夹(e:\\io)");
14 15                 filePath = sc.nextLine() + "\\";
15 16                 file = new File(filePath);
16 17                 // getAbsolutePath()返回此抽象路径名的绝对路径名形式。
17 18                 dirPath = file.getAbsolutePath();
18 19             }
19 20             System.out.println(dirPath);
20 21             // 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
21 22             File[] fileList = file.listFiles();
22 23             System.out.println("您输入的路径下有文件如下:");
23 24             for (File file2 : fileList) {//利用foreach循环体
24 25                 if (file2.isFile()) {//如果是文件,获得文件名,并输出
25 26                     String formFile = file2.getName();
26 27                     System.out.println(formFile);
27 28                 }
28 29             }
29 30             System.out.println("请输入你想要替换的旧字符:");
30 31             String oldStr = sc.nextLine();
31 32             System.out.println("请输入您想要替换的新字符:");
32 33             String newStr = sc.nextLine();
33 34             int count = 0;//声明一个int型的count,用于记录替换成功的文件数
34 35             for (int i = 0; i < fileList.length; i++) {
35 36                 String name = fileList[i].getName();//得到每个文件的文件名
36 37                 name = name.replace(oldStr, newStr);//替换包含oldStr字符的文件名
37 38                 name = dirPath + "\\" + name;//文件名
38 39                 File toFile = new File(name);//把name转换为File对象
39 40                 if (fileList[i].exists() && !toFile.exists()) {//新文件不存在才能更改
40 41                     fileList[i].renameTo(toFile);//rename();File的方法,用户更名
41 42                     count++;//替换成功文件个数+1
42 43                 }
43 44             }
44 45             System.out.println("替换成功,总文件数:" + fileList.length + ",成功" + count
45 46                     + "个,失败" + (fileList.length - count) + "个。");
46 47             System.out.println("失败的文件为:");
47 48             for (File file2 : fileList) {//输出没有替换成功的文件名
48 49                 if (file2.isFile()) {
49 50                     String formFile = file2.getName();
50 51                     System.out.println("\t"+formFile);
51 52                 }
52 53             }
53 54             sc.close();
54 55             System.out.println("3秒后关闭");
55 56             new Thread() {//新建一个线程,停留三秒后输出
56 57                 @Override
57 58                 public void run() {
58 59                     try {
59 60                         sleep(3000);
60 61                     } catch (InterruptedException e) {
61 62                         e.printStackTrace();
62 63                     }
63 64                 }
64 65             }.start();
65 66             break;
66 67         }
67 68     }
68 69     public static void main(String[] args) {
69 70         reName();
70 71     }
71 72 }
72 73   
73  

本java程序主要是学习java IO操作时对File的理解,然后想到写一个替换字符的程序。

时间: 2024-11-05 11:55:46

批量替换文件字符的相关文章

Perl 使用perl命令批量替换文件内容

对linux系统下面多个文本文件内容做处理,是SA经常需要完成的工作.如何高效的完成这个工作,perl应该是一个不错的语言工具.你甚至不需要编写perl脚本,用命令就可以完成上面的工作. perl 命令可以批量替换文件中的一些内容,操作起来非常高效.下面举几个例子: perl -pi -e "s/aaa/bbb/gi" test.txt 上面的命令把test.txt文件中的字符aaa替换成bbb perl -pi.bak -e "s/aaa/bbb/gi" test

linux下sed批量替换文件内容

在linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容 linuxsed 批量替换多个文件中的字符串 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 例如:替换/home下所有文件中的xxx为ooo sed -i "s/xxx/ooo/g" `grep xxx -rl /home` 单个文件中的字符串替换 将文件1.txt内的文字“111”替换成“222” sed -i &qu

linux下批量替换文件内容

linux下批量替换文件内容 1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为admin99.net sed -i "s/www.admin99.net/a

Powershell 批量替换文件

Powershell 批量替换文件 ##作者:Xiongpq ##时间:2015-06-10 18:50 ##版本:2.0 ##源文件目录 ##源文件目录的所有文件都会覆盖目标目录的同名文件,源文件目录可以在目标目录内,不会循环覆盖 $source = 'E:\Test_Target\Test_Source\' ##目标目录,支持多个目录 $target = 'E:\Test_Target\', 'D:\Test_Target' $sourceItem = Get-ChildItem -Path

sed批量替换文件内容

sed -i "s/123/456/g" `grep 123 -rl ./ | grep -v log` #把当前目录下所有文件中的123替换成456,包括子目录啊 sed批量替换文件内容

ansible批量替换文件并重启服务

ansible批量替换文件并重启服务: 注:1.需提前配好免密码登录2.被操作端需安装python apt-get install ansible vi /etc/ansible/hosts [ming]10.0.0.210.0.0.3:wq 替换(copy参数): ansible ming -m copy -a 'src=/etc/ntp.conf dest=/etc/' 重启服务(service参数): ansible ming -m service -a 'name=ntp state=r

Linux下 批量替换文件内容方法和odoo替换谷歌字体

#odoo#用中科院CDN解决odoo用到google字体速度慢问ti Linux下批量替换文件内容方法 http://www.cnblogs.com/fjping0606/p/4428850.html 1:查找find . -type f -name "*.html"|xargs grep 'yourstring' 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Per

批量替换文件夹多个doc中的字符串

' -------------------------------------------------------------------------------- ' 用来替换文件夹多个doc中的字符串 ' 作者:[email protected] ' 日期:2017年4月25日 ' -------------------------------------------------------------------------------- ' -----------------------

Linux下批量替换文件内容方法

1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.从命令行中使用Perl 能够帮助实现一些强大的.实时的转换.认真研究正则表达式,并正确地使用,将会为您省去大量