package com.chenjin.study.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
/**
* <p>标题: 替换文件夹内字符串</p>
* <p>说明: </p>
* <p>版本: Copyright (c) 2008-11-11</p>
* <p>创建: 2008-11-11 上午08:38:42
* @author cj
*/
public class ReplaceString {
/** 缓冲区大小 */
private static final int SIZE = 8 * 1024;
/**
* <p>【按路径替换】</p>
* @param path
* @param oldStr
* @param newStr
* @author:cj [2008-11-16 下午03:36:54]
*/
public static void replaceByPath(String path, String oldStr, String newStr) {
File file = new File(path);
if (!file.exists()) {
System.err.println((new StringBuilder("file not found: ")).append(
path).toString());
return;
} else {
replaceByFile(file,oldStr,newStr);
}
}
/**
* <p>【按文件替换,可以为文件夹】</p>
*
* @param file
* @param oldStr
* @param newStr
* @author:cj [2008-11-16 下午03:37:07]
*/
public static void replaceByFile(File file, String oldStr, String newStr){
if(file==null||oldStr==null||oldStr.equalsIgnoreCase(""))
return ;
if(file.isDirectory()){
File files[] = file.listFiles();
for(int i = 0; i < files.length; i++)
replaceByFile(files[i], oldStr,newStr);
return;
}
FileInputStream input = null;
LineNumberReader reader = null;
FileWriter fw = null;
StringBuffer buffer = new StringBuffer();
try {
input = new FileInputStream(file);
// 读数据
reader = new LineNumberReader(new InputStreamReader(input), SIZE);
String s = null;
while ((s = reader.readLine()) != null) {
buffer.append(replaceByString(s, oldStr ,newStr)).append("\n");
}
fw = new FileWriter(file);
fw.write(buffer.toString());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
} finally {
if (reader != null) {
try {
fw.close();
reader.close();
} catch (IOException e) {
}catch(Exception e){
}
}
if (input != null) {
try {
input.close();
} catch (IOException e) {
}catch(Exception e){
}
}
}
}
public static String replaceByString(String str,String oldStr,String newStr) {
return str.replaceAll(oldStr, newStr);
}
public static void main(String[] args) {
String path="D:/zycms/wwwroot/jhzfxxgk/web";
ReplaceString.replaceByPath(path, "src", "src=");
}
}
感觉不是很好,希望能在取出文件同时改变。
分享到:
相关推荐
标题“指定路径和文件替换文字”以及描述中的“指定路径、文件和被替换的文字,替换文件中匹配行的文字”都指向了一个具体的编程操作:通过编程语言(如C#)对文件内容进行搜索和替换。这个过程通常涉及到读取文件,...
这个方法来自`String`类,允许我们用新的字符串替换掉原字符串中匹配某个模式的所有实例。在这个案例中,我们要关注的是如何替换字符串中的反斜杠字符`\`。 ### 1. `replaceAll`函数介绍 `replaceAll`函数的基本...
接下来,我们需要编写一个函数,该函数接受文件夹路径和待替换的字符串作为参数。这个函数将遍历指定文件夹下的所有Word文档(.docx格式),并将其中的旧字符串替换为新字符串。以下是一个示例代码: ```csharp ...
本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定...
more)`创建Path对象,`Path#resolve(String other)`和`Path#relativize(Path other)`分别用于合并路径和获取相对路径。 11. **Path操作**: - `Path#toAbsolutePath()`: 转换为绝对路径。 - `Path#normalize()`:...
调用此方法时,传入输入文件路径、输出文件路径以及一个包含替换规则的Map对象即可: ```java public static void main(String[] args) { Map<String, String> replacements = new HashMap(); replacements.put(...
在本实例中,我们将探讨`String.format()`的基本用法以及如何获取当前程序的运行路径。 首先,`String.format()`方法通过指定的格式化字符串和参数来生成一个新的字符串。格式化字符串通常包含占位符,这些占位符会...
- `string.Replace`: 用于在字符串中替换所有指定的子串。例如,`content = content.Replace("oldText", "newText")`。 - 正则表达式:如果需要更复杂的内容匹配,如模式匹配,可以使用`System.Text.Regular...
上述代码首先定义了要读取的文件路径、要替换的旧字符串和新字符串。然后使用`BufferedReader`逐行读取文件,每读取一行就调用`replace()`方法进行替换,替换后的行写入到`BufferedWriter`中,确保新内容覆盖旧内容...
在本项目中,我们将关注如何使用Apache POI来根据预设的Word模板生成包含替换内容、循环列表和图片的动态Word报表。 首先,我们需要理解Apache POI的核心概念。在处理Word文档时,POI提供了HWPF(Horrible Word ...
old_string = 'old_text' # 要替换的旧字符串 new_string = 'new_text' # 新的字符串 replace_string_in_files(directory, file_extension, old_string, new_string) ``` 在这个脚本中,我们定义了一个名为`replace...
'输入:TempletfilePath 模板文件路径, Templetfile 模板文件名, MacFilePath 宏文件路径, Command 以"/"分割的待替换参数 '返回: 可用的宏文件名 '输出:可用的宏文件 '编写: 刘文春[72] '修改: 2009-06-09 '时间: ...
- 通过替换操作去掉URL中的路径部分,保留协议头、主机名和端口号等信息。 - 最后加上 `Request.ApplicationPath` 即可得到完整的根目录路径。 #### 总结 在ASP.NET环境中获取文件根路径主要有以上几种方法。每种...
在这个例子中,`inputFile`是源文件路径,`outputFile`是目标文件路径,`pattern`是正则表达式,`replacement`是替换字符串。`ReadAllText`用于读取文件内容,`Replace`执行替换操作,最后`WriteAllText`将结果写入...
- 文件操作:读写文件名、路径等。 - 网络编程:处理HTTP请求、URL、JSON数据等。 - 数据库操作:构建SQL查询语句。 通过深入学习`std::string`,你可以更好地理解和利用C++中的字符串处理能力,提高代码质量,...
folderPath = "C:\Your\Path\Here\" ' 替换为实际路径 Set wdApp = CreateObject("Word.Application") ' 遍历文件夹中的所有Word文档 fileName = Dir(folderPath & "*.docx") ' 只处理.docx文件 Do While ...
例如Python的`str.replace()`,Java的`String.replaceAll()`,JavaScript的`String.replace()`,它们可以结合正则表达式进行复杂的字符替换操作。 4. **文件遍历与处理**:在批量处理多文件的情况下,我们需要读取...
3. **功能特性**:除了基础的显示完整字符串外,String Watch可能还提供了一些其他高级功能,比如格式化输出、搜索和替换字符串等。具体的功能可以通过查看压缩包中的index.html文件来了解,该文件通常会提供详细的...
- **替换功能**:使用String类的Replace方法,可以替换文本中的特定字符串。考虑到可能的多处替换,需在找到每个匹配项后更新文本。 - **全部替换**:这个功能需要遍历整个文本,使用StringBuilder类进行替换操作...