`
axxxx2000
  • 浏览: 6485 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

根据路径替换String

    博客分类:
  • java
阅读更多
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#)对文件内容进行搜索和替换。这个过程通常涉及到读取文件,...

    Android relaceALL替换字符串中的反斜杠

    这个方法来自`String`类,允许我们用新的字符串替换掉原字符串中匹配某个模式的所有实例。在这个案例中,我们要关注的是如何替换字符串中的反斜杠字符`\`。 ### 1. `replaceAll`函数介绍 `replaceAll`函数的基本...

    C# aspose.word 批量替换文件夹下所有word文件里的字符串代码

    接下来,我们需要编写一个函数,该函数接受文件夹路径和待替换的字符串作为参数。这个函数将遍历指定文件夹下的所有Word文档(.docx格式),并将其中的旧字符串替换为新字符串。以下是一个示例代码: ```csharp ...

    jJAVA正则表达式替换字符

    本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"&lt;title&gt;XXXX&lt;/title&gt;"中的文字XXXX,用正则表达式获取指定...

    java文件路径操作详细(转载)

    more)`创建Path对象,`Path#resolve(String other)`和`Path#relativize(Path other)`分别用于合并路径和获取相对路径。 11. **Path操作**: - `Path#toAbsolutePath()`: 转换为绝对路径。 - `Path#normalize()`:...

    word读取并替换内容(table与变量都可替换)

    调用此方法时,传入输入文件路径、输出文件路径以及一个包含替换规则的Map对象即可: ```java public static void main(String[] args) { Map&lt;String, String&gt; replacements = new HashMap(); replacements.put(...

    string.format实例

    在本实例中,我们将探讨`String.format()`的基本用法以及如何获取当前程序的运行路径。 首先,`String.format()`方法通过指定的格式化字符串和参数来生成一个新的字符串。格式化字符串通常包含占位符,这些占位符会...

    文件读写替换行

    - `string.Replace`: 用于在字符串中替换所有指定的子串。例如,`content = content.Replace("oldText", "newText")`。 - 正则表达式:如果需要更复杂的内容匹配,如模式匹配,可以使用`System.Text.Regular...

    java 文本字符串替换工具

    上述代码首先定义了要读取的文件路径、要替换的旧字符串和新字符串。然后使用`BufferedReader`逐行读取文件,每读取一行就调用`replace()`方法进行替换,替换后的行写入到`BufferedWriter`中,确保新内容覆盖旧内容...

    Apache poi 根据word模板生成word报表 替换 循环列表 图片

    在本项目中,我们将关注如何使用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...

    VB按一定规则完成宏文本替换

    '输入:TempletfilePath 模板文件路径, Templetfile 模板文件名, MacFilePath 宏文件路径, Command 以"/"分割的待替换参数 '返回: 可用的宏文件名 '输出:可用的宏文件 '编写: 刘文春[72] '修改: 2009-06-09 '时间: ...

    获取文件根路径的方法

    - 通过替换操作去掉URL中的路径部分,保留协议头、主机名和端口号等信息。 - 最后加上 `Request.ApplicationPath` 即可得到完整的根目录路径。 #### 总结 在ASP.NET环境中获取文件根路径主要有以上几种方法。每种...

    文本替换(c#源码)

    在这个例子中,`inputFile`是源文件路径,`outputFile`是目标文件路径,`pattern`是正则表达式,`replacement`是替换字符串。`ReadAllText`用于读取文件内容,`Replace`执行替换操作,最后`WriteAllText`将结果写入...

    深入学习C++ string 2.1

    - 文件操作:读写文件名、路径等。 - 网络编程:处理HTTP请求、URL、JSON数据等。 - 数据库操作:构建SQL查询语句。 通过深入学习`std::string`,你可以更好地理解和利用C++中的字符串处理能力,提高代码质量,...

    word批量替换和查找

    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. **文件遍历与处理**:在批量处理多文件的情况下,我们需要读取...

    VC6插件String Watch

    3. **功能特性**:除了基础的显示完整字符串外,String Watch可能还提供了一些其他高级功能,比如格式化输出、搜索和替换字符串等。具体的功能可以通过查看压缩包中的index.html文件来了解,该文件通常会提供详细的...

    C#记事本(实现了向上,向下查找,替换和全部替换等功能)

    - **替换功能**:使用String类的Replace方法,可以替换文本中的特定字符串。考虑到可能的多处替换,需在找到每个匹配项后更新文本。 - **全部替换**:这个功能需要遍历整个文本,使用StringBuilder类进行替换操作...

Global site tag (gtag.js) - Google Analytics