更新一个文件夹下所有的文件
来源:互联网 发布: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
- 更新一个文件夹下所有的文件
- 删除一个文件夹下的所有文件
- 取出一个文件夹下的所有文件
- 获取一个文件夹下的所有文件
- 读取一个文件夹下的所有文件
- 读取一个文件夹下的所有文件
- 找出一个文件夹下的所有文件
- 如何批量将一个文件夹下所有的SQL文件执行,更新到数据库
- 遍历一个文件夹下所有的文件和子文件夹
- 遍历一个文件夹下的所有文件和子文件夹
- php 遍历一个文件夹下的所有文件和文件夹
- 遍历一个文件夹下的所有文件和子文件夹
- 遍历文件夹,取到一个文件夹下的所有文件包括子文件夹中的文件
- 关于改变一个文件夹下的所有文件的属性
- 获得并处理一个文件夹下的所有文件
- 返回一个指定文件夹下的所有文件
- PHP遍历输出一个文件夹下的所有文件
- windows下读取一个文件夹下面所有文件的名字
- C++ Primer Plus 编程练习 第二章
- Android使用OKHTTP网络框架请求数据,RecyclerView结合Glide展示图片,瀑布流布局样式
- Oracle中varchar2(4000)最多能存多少个汉字?
- Web接口测试工具--Jmeter
- Maven
- 更新一个文件夹下所有的文件
- Java调用MATLAB程序打包的jar包时出现错误MWEException
- local git link romote github
- KCF目标跟踪代码及注释
- css3软键盘不盖住输入框的方法
- opecv常用绘制函数
- 用lambda简化代码
- QT配置第三方库
- js 跨域请求controller时,controller的写法,使用的是ResponseEntity