关闭

html文件替换其中的href的内容

170人阅读 评论(0) 收藏 举报
package com.util;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class FileReadWriteReplacer {


public static void readFolder(String filePath, File outPath,String replaceContext) {
try {
// 读取指定文件夹下的所有文件
File file = new File(filePath);
if (!file.isDirectory()) {
System.out.println("---------- 该文件不是一个目录文件 ----------");
} else if (file.isDirectory()) {
System.out.println("---------- 这是一个目录文件夹 ----------");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filePath + "\\" + filelist[i]);
// String path = readfile.getPath();//文件路径
String absolutepath = readfile.getAbsolutePath();// 文件的绝对路径
String filename = readfile.getName();// 读到的文件名
if(filename.contains(".html")||filename.contains(".htm")){
readFile(absolutepath, filename, i, outPath,replaceContext);// 调用 readFile
} // 方法读取文件夹下所有文件
}
System.out.println("---------- 所有文件操作完毕 ----------");
}
} catch (Exception e) {
e.printStackTrace();
}
}


public static void readFile(String absolutepath, String filename,
int index, File targetFile,String replaceContext) {
try {
BufferedReader bufReader = new BufferedReader(
new InputStreamReader(new FileInputStream(absolutepath),"UTF-8"));
StringBuffer strBuffer = new StringBuffer();
String empty = "href=\""+replaceContext+"\"";
String tihuan = "";
String pattern= "href=\"([^\"]*)\""; //正则判断 herf内容
Pattern p = Pattern.compile(pattern, 2 | Pattern.DOTALL); 
for (String temp = null; (temp = bufReader.readLine()) != null; temp = null) {
 
Matcher m = p.matcher(temp);//匹配正则内容
if(m.find()) { 
   tihuan="href=\""+m.group(1)+"\"";
temp = temp.replace(tihuan, empty);// 替换为你想要的东东
}
strBuffer.append(temp);
strBuffer.append(System.getProperty("line.separator"));
}
bufReader.close();
if (targetFile.exists() == false) { 
targetFile.mkdirs();
System.out.println("已成功创建输出文件夹:" + targetFile);
}
PrintWriter printWriter = new PrintWriter(targetFile + "\\" + filename);
printWriter.write(strBuffer.toString().toCharArray());
printWriter.flush();
printWriter.close();
System.out.println("第 " + (index + 1) + " 个文件   " + absolutepath
+ "  已成功输出到    " + targetFile + "\\" + filename);
} catch (Exception e) {
e.printStackTrace();
}
}


}


测试页面


package com.util;


import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {
public static void main(String[] args) {


Properties pro = new Properties();
Test ttt = new Test();
try {
/*   InputStream path = ttt
.getClass()
.getClassLoader()
.getResourceAsStream(
"GalaxyLifeAppStaticEnvConfig.properties");

pro.load(path);

*/  //或者

// Properties pro = new Properties();


File settingFile = new File(
"config_env/DEV/GalaxyLifeAppStaticEnvConfig.properties");


pro.load(new FileInputStream(settingFile));

// 输出文件路径
File targetFile = new File("C://ff//");

if(targetFile.exists()==false){
targetFile.mkdirs();
}

/*
* 三个参数 1.读取文件路径 2.输出文件路径 3.替换内容
*/
FileReadWriteReplacer.readFolder("WebRoot", targetFile,
pro.getProperty("GalaxyLifeAppStatic.value"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


}

属性文件


GalaxyLifeAppStatic.key=#{key}


GalaxyLifeAppStatic.value=http://www.kkkk.com/


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10219次
    • 积分:284
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:5篇
    • 译文:0篇
    • 评论:2条