/***
* 替换文件中的指定文本内容
* @param filepath 文件路径
* @param sourceStr 文件需要替换的内容
* @param targetStr 替换后的内容
* @return 替换成功返回true,否则返回false
*/
public static boolean replaceFileStr(String filepath, String sourceStr, String targetStr)
{
try
{
FileReader fis = new FileReader(filepath); // 创建文件输入流
char[] data = new char[1024]; // 创建缓冲字符数组
int rn = 0;
StringBuilder sb = new StringBuilder(); // 创建字符串构建器
// fis.read(data):将字符读入数组。在某个输入可用、发生 I/O
// 错误或者已到达流的末尾前,此方法一直阻塞。读取的字符数,如果已到达流的末尾,则返回 -1
while ((rn = fis.read(data)) > 0)
{
// 读取文件内容到字符串构建器
String str = String.valueOf(data, 0, rn);
// 把数组转换成字符串
sb.append(str);
}
// 关闭输入流
fis.close();
// 从构建器中生成字符串,并替换搜索文本
String str = sb.toString().replace(sourceStr, targetStr);
// 创建文件输出流
FileWriter fout = new FileWriter(filepath);
// 把替换完成的字符串写入文件内
fout.write(str.toCharArray());
// 关闭输出流
fout.close();
return true;
}
catch (FileNotFoundException e)
{
e.printStackTrace();
return false;
}
catch (IOException e)
{
e.printStackTrace();
return false;
}
}
替换文件中的指定文本内容
最新推荐文章于 2024-07-26 12:28:02 发布