package yuanlai.photostorage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 替换文件中的特定字符
*
* @author luoqinglong
* @date 2015-9-2
*
*/
public class ReplacePackage {
public static final String[] targetFileSuffixArray = {"java","txt","xml","properties"};//需要替换的文件后缀
//http://blog.csdn.net/hapylong/article/details/4594130
/**
* @param args
*/
public static void main(String[] args) {
getAllFiles("D:\\MyEclipse\\tinder-services\\web");
}
/**
*
* @param filePath 要替换的目录或者文件
*/
public static void getAllFiles(String filePath) {
File root = new File(filePath);
File[] files = root.listFiles();
if(root.isDirectory()&&files.length==0){
return ;
}
if(files==null||files.length==0){
files = new File[1];
files[0] = root;
}
for (File file : files) {
if (file.isDirectory()) {
System.out.println("显示" + filePath + "下所有文件" + file.getAbsolutePath());
getAllFiles(file.getAbsolutePath());
} else {
//判断是不是目标文件
boolean targetFile = false;
for(int i=0;i<targetFileSuffixArray.length;i++){
if(file.getName().endsWith(targetFileSuffixArray[i])){
targetFile = true;
break;
}
}
if(targetFile){
System.out.println("显示" + filePath + "下所有文件" + file.getAbsolutePath());
try {
replaceContent(file,"com.yuanlai.tinder","com.yuanlai.coffee");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
/**
* 把文件中旧的字符串替换成新的字符串
*
* @param srcFile
* @param oldStr
* 旧的字符串
* @param newStr
* 新的字符串
* @throws IOException
*/
public static void replaceContent(File srcFile, String oldStr, String newStr) throws IOException {
File newFile = new File(srcFile.getAbsolutePath()+".bak");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile)));
BufferedWriter writer = new BufferedWriter(new FileWriter(newFile));
String str ;
while ((str = bufferedReader.readLine()) != null) {
writer.write(str.replaceAll(oldStr, newStr));
writer.newLine();
}
String string = srcFile.getAbsolutePath();
bufferedReader.close();
srcFile.delete();
writer.flush();
writer.close();
newFile.renameTo(new File(string));
}
}
相关推荐
总之,使用Java替换Word文档中的变量主要依赖于Apache POI库,通过创建和操作HWPFDocument或XWPFDocument对象来实现。这个过程涉及到对Word文档结构的理解,以及对库提供的API的熟练掌握。在实际项目中,根据需求...
Java热替换(Hot Swap)是一种在程序运行时更新或替换类的方法实现,而无需重启应用的技术。这个特性在开发环境中非常有用,因为它可以显著提高开发效率,减少因反复重启应用而导致的时间消耗。Java的热替换通常与...
标题"java替换word占位符.zip"和描述"java 替换word 占位符"都指向了这个应用场景。在Java中实现这一功能,通常我们会借助第三方库,比如Aspose.Words。Aspose.Words是一个强大的API,它允许开发者在不依赖Microsoft...
Java 实现Word模板的自动替换是一项常见的任务,尤其在自动化文档生成、批量报告制作等领域有着广泛应用。这个主题主要涉及到Java编程、Apache POI库以及Word文档处理的知识点。Apache POI是Java中用于读写Microsoft...
在Java编程中,有时我们需要对已经存在的ZIP文件进行操作,比如替换其中的某个文件,而无需将整个ZIP文件解压后再重新压缩。这样的需求在处理大量数据或优化性能时尤其重要,因为它避免了创建临时文件和多次I/O操作...
这个"java 文本字符串替换工具"很可能是为了帮助开发者高效地搜索和替换文件中的特定文本内容。让我们详细了解一下如何在Java中实现这样的功能,以及如何通过批处理脚本(bat和sh)进行调用。 首先,要实现文本文件...
在Java编程中,替换文本文件中的特定文字是一项...以上就是使用Java替换txt文件中文字的基本方法及注意事项,希望能对你有所帮助。在实际编程中,根据具体需求和场景,可能还需要对这些基础方法进行适当的扩展和优化。
接下来,编写读取Word文档并替换内容的方法: ```java public void replaceContentInWord(String inputFile, String outputFile, Map, String> replacements) { try (FileInputStream fis = new FileInputStream...
本文将详细讲解如何利用Java编程语言读取Excel中的值,并将其用于替换文件内容中的键值对(key-value pairs)。 首先,我们要了解如何在Java中操作Excel。Java提供了多种库来实现这一功能,如Apache POI和JExcelAPI...
在Java编程语言中,替换指定字符是一项常见的任务,特别是在处理字符串时。这涉及到对字符串对象进行操作,以替换其中特定的字符或子串。在Java中,我们可以使用`String`类提供的方法来实现这一功能。以下是一些主要...
在下载word模板.rtf过程中,将模板中约定的标识内容替换为需要的信息。省时省力很方便。
在Java开发中,有时我们需要对Microsoft Word(.docx)文档进行文本替换,然后将处理后的文档转换为PDF格式,以便于签名或者其他用途。本文将详细介绍如何使用Apache POI库来操作docx文件,以及使用其他的Java库如...
将图片加载到内存 循环图片每个像素 找到你需要修改的像素 进行颜色修改。然后再图片BASE64
poi解析word模板,在需要填写 空白地方建立书签;程序遍历书签,并根据书签名称进行赋值。 <groupId>org.apache.poi <artifactId>poi <version>3.8 <groupId>org.apache.poi <artifactId>poi-ooxml ...
java实现class的热替换
java poi 实现word文本的替换,支持doc和docx格式的文本替换
字符串“登录网站:222.128.89.253”中的正确IP应当是202.192.78.56。编写一个Java应用程序,输出把错写的IP“222.128.89.253”替换为正确的IP“202.192.78.56”。
在Java编程环境中,证件照和头像底图的替换是一个常见的图像处理需求,尤其是在身份证、护照等证件制作或在线照片编辑服务中。本教程将详细讲解如何使用Java的`java.awt.image`包来实现这一功能。 首先,我们需要...
本文将深入探讨如何在Java中替换字符串中的特定符号,并解析代码示例,以便更好地理解其工作原理。 ### Java中替换字符串中的符号 在Java中,`String`类提供了多种方法来操作字符串,包括查找、替换、分割等。其中...
java替换指定文件中指定的字符串参考代码