Java遍历文件夹下所有文件并替换指定字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java遍历文件夹下所有文件并替换指定字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2261字,纯文字阅读大概需要4分钟。
内容图文
应用场景:比如有一个深层次的文件目录结构,如:javaAPI
每个文件里面都有相同的内容,而我们要统一修改为其他内容。上千个文件如果一个个修改显得太不明智。
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** * @author itmyhome */ public static void main(String[] args) { File f = new File("F:/javaAPI/java/lang/reflect"); print(f, 0); } /** * 遍历文件夹 * * @param f * @param len */ public static void print(File f, int len) { File[] file = f.listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isDirectory()) { //判断是否文件夹 print(file[i], len + 1); } // 为防止输出文件覆盖源文件,所以更改输出盘路径 也可自行设置其他路径 File outPath = new File(file[i].getParent().replace("F:", "E:")); File readfile = new File(file[i].getAbsolutePath()); if (!readfile.isDirectory()) { String filename = readfile.getName(); // 读到的文件名 String absolutepath = readfile.getAbsolutePath(); // 文件的绝对路径 readFile(absolutepath, filename, i, outPath); // 调用 readFile } } } /** * 读取文件夹下的文件 * * @return */ public static void readFile(String absolutepath, String filename, int index, File outPath) { try { BufferedReader bufReader = new BufferedReader(new InputStreamReader( new FileInputStream(absolutepath), "gb2312")); // 数据流读取文件 StringBuffer strBuffer = new StringBuffer(); String newStr = "i love you too"; String oldStr = "i love you"; for (String temp = null; (temp = bufReader.readLine()) != null; temp = null) { if ((temp.indexOf(oldStr) != -1) && (temp.indexOf(oldStr) != -1)) { // 判断当前行是否存在想要替换掉的字符 temp = temp.replace(oldStr, newStr); // 此处进行替换 } strBuffer.append(temp); strBuffer.append(System.getProperty("line.separator")); // 换行符 } bufReader.close(); if (outPath.exists() == false) { // 检查输出文件夹是否存在,若不存在先创建 outPath.mkdirs(); System.out.println("已成功创建输出文件夹:" + outPath); } PrintWriter printWriter = new PrintWriter(outPath + "\\" + filename, "gb2312"); // 替换后输出文件路径 printWriter.write(strBuffer.toString().toCharArray()); //重新写入 printWriter.flush(); printWriter.close(); System.out.println("第 " + (index + 1) + " 个文件 " + absolutepath + " 已成功输出到 " + outPath + "\\" + filename); } catch (Exception e) { e.printStackTrace(); } } }
作者:itmyhome
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/itmyhome1990/article/details/46637549
内容总结
以上是互联网集市为您收集整理的Java遍历文件夹下所有文件并替换指定字符串全部内容,希望文章能够帮你解决Java遍历文件夹下所有文件并替换指定字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。