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


            当需要更换一个文件夹下所有的文件中某些相同字段时,可以写一个简单的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("需要被替换的字段", "替换后的字段")+"
    ");
    			}
    			//关闭输入文件
    			in.close();
    			//要输出转换后文件的路径
    			PrintWriter output = new PrintWriter(filePath +"\"+ name);
    			//输出到指定文件
    			output.println(string.toString());
    			//关闭输出文件
    			output.close();
    			
    			System.out.println(name + ":success");
    			count++;
    		}
    		System.out.println("共计转换:"+count+"个文件");
    		
    	}
    
    }
    
    
  • 相关阅读:
    ext导出表格数据到excel中
    Oracle 外连接和 (+)号的用法
    通过json取树
    最简单的extjs 树
    extjs放在本地tomcat中部署运行
    extjs viewport panel tabPanel tree
    jsp注意的问题(初学)
    查看进程的路径,不用第三方软件
    vc常用技巧
    表单中单选按钮的有效性控制问题
  • 原文地址:https://www.cnblogs.com/chenghao1/p/7577467.html
Copyright © 2020-2023  润新知