更新一个文件夹下所有的文件

来源:互联网 发布:mac osx 更新 编辑:程序博客网 时间:2024/05/16 10:58

        当需要更换一个文件夹下所有的文件中某些相同字段时,可以写一个简单的Java程序来解决。


        首先找到要做更新的文件所在的文件夹路径,然后再将文件夹下所有文件的名字存下来,然后遍历整个文件夹,用文件夹名和文件名组合成文件的路径,然后根据路径打开文件就可以进行处理了。这里是用BufferReader,每次读一行进行替换,然后存到StringBuilder(这里不考虑线程,StringBuilder比StringBuffer快)中拼接完成转换,最后保存文件,存回原来的位置即可。


注意:这里的代码没有对文件夹内部是否还有其他文件夹进行判断,如果有需要可以自己加


具体代码如下:

package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.PrintWriter;public class MyTest {    public static void main(String[] args) throws Exception{        //文件所在的文件夹        File filePath = new File("E:\\file");        //文件夹内所有文件的名字        String [] fileName = filePath.list();        //计数器        int count = 0;        if(!filePath.exists()){            System.out.println("文件夹不存在");        }        for(String name : fileName){            //某一个文件的路径            File file = new File(filePath +"\\"+ name);            //获取到文本            InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");            BufferedReader in = new BufferedReader(isr);            //暂存某一行文本            String str = null;            //暂存处理过的文本            StringBuilder string = new StringBuilder();            //开始处理            while((str = in.readLine()) != null){                //对当前这一行进行某些字段的替换                string.append(str.replaceAll("需要被替换的字段", "替换后的字段")+"\r\n");            }            //关闭输入文件            in.close();            //要输出转换后文件的路径            PrintWriter output = new PrintWriter(filePath +"\\"+ name);            //输出到指定文件            output.println(string.toString());            //关闭输出文件            output.close();            System.out.println(name + ":success");            count++;        }        System.out.println("共计转换:"+count+"个文件");    }}
阅读全文
1 0