`
bubble
  • 浏览: 148410 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

可恶的“查询吧”源码,我要阉了你!

阅读更多

nnd,一直想在自己的网站上加这个“查询吧”,不过里面的超链接都是指向根目录“/”,恶心,在网上没找到好的代码替换工具,今天心情好自己写一个吧。

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.InputStream;
import java.io.InputStreamReader;

public class ReplaceUtil {

	private String[] dot;
	private File dir;

	private int di = 0;
	private int count = 1;

	public synchronized void done() {
		File[] fs = dir.listFiles();
		for (File f : fs) {
			if (f != null)
				if (f.isDirectory()) {
					dir = f;
					di = di + 1;
					done();
					di = di - 1;
				} else if (f.isFile()) {
					boolean isDot = false;
					String suf = f.getName().substring(
							f.getName().lastIndexOf("."));
					for (int i = 0; i < dot.length; i++) {
						if (suf.endsWith(dot[i]))
							isDot = true;
					}
					if (isDot) {
						try {
							System.out.println(count + "->操作文件[" + f.getPath()
									+ "]");
							replace(f, di);
							count++;
						} catch (IOException e) {
							System.out.println("操作文件[" + f.getPath() + "]时出错!");
							e.printStackTrace();
						}
					}
				}
		}
	}

	private void replace(File f, int di) throws IOException {
		StringBuffer sb = new StringBuffer();
		// read
		InputStream in = new FileInputStream(f);
		BufferedReader dr = new BufferedReader(new InputStreamReader(in));
		String line = dr.readLine();
		while (line != null) {
			// TODO:replace
			if (f.getName().endsWith("js")) {
				if (di == 0)
					line = line.replace("=\\\"\\/", "=\\\"");
				else if (di == 1)
					line = line.replace("=\\\"\\/", "=\\\"../");
				else if (di == 2)
					line = line.replace("=\\\"\\/", "=\\\"../../");
				else if (di == 3)
					line = line.replace("=\\\"\\/", "=\\\"../../../");
			} else if (f.getName().endsWith("css")) {
				if (di == 0)
					line = line.replaceAll("\\(/", "(");
				else if (di == 1)
					line = line.replaceAll("\\(/", "(../");
				else if (di == 2)
					line = line.replaceAll("\\(/", "(../../");
				else if (di == 3)
					line = line.replaceAll("\\(/", "(../../../");
			} else {
				if (di == 0)
					line = line.replaceAll("=\"/", "=\"");
				else if (di == 1)
					line = line.replaceAll("=\"/", "=\"../");
				else if (di == 2)
					line = line.replaceAll("=\"/", "=\"../../");
				else if (di == 3)
					line = line.replaceAll("=\"/", "=\"../../../");
			}
			sb.append(line + "\t\n");
			line = dr.readLine();
		}
		// write
		// String tfname=newFilePath(f.getAbsolutePath());//test
		BufferedWriter writer = new BufferedWriter(new FileWriter(f));
		writer.write(sb.toString());
		writer.flush();
	}

	/**
	 * use for testing
	 * @param path
	 * @return
	 */
	private String newFilePath(String path) {
		String sub = path.substring(0, path.lastIndexOf("."));
		String enb = path.substring(path.lastIndexOf("."));
		return sub + "_" + enb;
	}

	public String[] getDot() {
		return dot;
	}

	public void setDot(String[] dot) {
		this.dot = dot;
	}

	public File getDir() {
		return dir;
	}

	public void setDir(File dir) {
		this.dir = dir;
	}

	public static void main(String[] args) {
		String[] dot = { "htm", "html", "php", "js", "css" };
		File dir = new File("F:\\测试\\91tbnet");
		ReplaceUtil r = new ReplaceUtil();
		r.setDot(dot);
		r.setDir(dir);
		r.done();
	}
}
 
分享到:
评论

相关推荐

    查询吧源码,资源查询工具查询网站源码

    最新查询吧网站整站源码,查询工具源码。功能非常强大!包含生活、娱乐、财经、交通、站长工具、电脑、学习、计算机等等行业,功能简直太强大了,最新版经典收藏特别贡献。

    纯access建立的管理信息系统源码!!!!!!

    有朋友看了我发的vb+access的管理系统源码后想要一个纯access建立的管理系统源码,这个就是。包括报表等高级功能,当让分类筛选更不在话下了。有界面!!!!!!纯access,源码贡献给大家。 作者qq:928610025,...

    淘宝信誉查询网站源码

    淘宝信誉查询网站源码,非常好用!淘宝信誉查询网站源码

    ASP源码:网上报名系统源码,很实用的网上报名系统源码,可以直接使用!

    【ASP网上报名系统源码详解】 ASP(Active Server Pages)是一种由微软开发的服务器端脚本语言,常用于创建动态网页。在这个“网上报名系统源码”中,我们可以深入理解ASP在构建网络应用中的核心技术和实际应用。 ...

    淘宝差评查询系统源码,淘宝信誉查询系统源码,淘宝买号查询源码[PHP+MYSQL]

    淘宝上现在有在卖的版本,大部分查询是调用其他站的,账户具体点数查询错误,其他查询,如排名等都是调用其他站的,调用站没问题,那么就没问题 1、首先打开根目录下 config.php 修改数据库登录用户名、密码、数据库...

    定制商城+在线DIY编辑系统源码最新版本!!!

    相册、台历、卡片、扑克、T恤、杯子等等轻松在线编辑,PC端移动端跨平台操作,流量一网打尽,最新分销功能可以轻松管理分销商设计订单,整站式解决方案。 系统每月在线更新免费的模板和素材,商家自己也可以设计模板...

    公交查询系统源码(JAVA)

    【公交查询系统源码(JAVA)】是一款基于JAVA语言开发的实用软件,主要适用于毕业设计、课程设计等项目,同时也适合那些希望深入研究JAVA技术,尤其是J2EE平台下的Web应用开发的爱好者。该系统提供了方便快捷的公交...

    ~_~jsp网上书店系统之经典编程(带源码)~_~!!!!!!

    - **购物车**:用户可以将想要购买的书籍添加到购物车,支持批量操作和修改数量。 - **订单处理**:用户下单后,系统生成订单,处理支付,跟踪订单状态,直至完成交易。 - **支付接口**:集成第三方支付平台,如...

    C# IP查询所在地源码

    C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码C# IP查询所在地源码

    全国物流快递查询接口源码,支持所有快递物流单号

    支持全国所有快递单号查询的接口源码,数据来源为爬取,无需任何付费和调用其他第三方接口即可快速查询全国常见的快递信息物流详情。请求格式:你的域名/queryKuaidi/单号。注意本资源为thinkPHP源码!内附搭建教程

    非常完善TCPIP协议栈源码,写的不错!包括一个ARM上的移植

    非常完善TCPIP协议栈源码,写的不错! 里面还有将这个TCPIP协议栈移植到ARM的例程 学习TCPIP协议建议好好看看

    婚恋交友 php源码(破除婚恋交友收费!完全开源代码! 目前网络上最好的源码资源)

    婚恋 交友 php+mysql源码 网上不好找的啊 ,完全开放源码。模板粉红系。(看到有评论说被骗了,我晕,希望连php语法都不懂的童鞋不要乱评论,这个开源的虽然比不上世纪佳缘等这些大网站,但也是比较好的一个适合二次...

    多功能在线报价系统源码

    【标题】:“多功能在线报价系统源码” 在线报价系统是一种基于网络的应用程序,它使得企业或个人能够方便快捷地提供产品或服务的价格信息给潜在客户。这个“多功能在线报价系统源码”是专为此目的设计的,允许用户...

    电商微信小程序源码+后台

    电商微信小程序源码+后台分享,亲测可用,有需要的朋友拿去!!! 电商微信小程序源码+后台分享,亲测可用,有需要的朋友拿去!!! 电商微信小程序源码+后台分享,亲测可用,有需要的朋友拿去!!! 电商微信小程序...

    2020易学八字算命测算源码(带教程)

    这个版本的源码很多是不完整的,但这份源码完整! 该源码为运营类源码,可放心使用! 简易教程: 环境:linux php5.5 mysql5.6 两个域名: 后台:http://xxx.com 指向根目录 前台:http://xxx1.com ...

    电影源码 电影网站源码模板

    如果一个网站给我看个电影还要我安装播放器,我是果断关闭页面的。 谁都希望打开网站点击就能播放! 1、此网站是本人自己制作,绝对安全!优点:可以生成静态页面!对于seo绝对是很看重的! 2、更具杀伤力的是网站不...

    饿了么源码 百度外卖源码 美团外卖源码 外卖系统源码

    我们的每个系统作品都要经过周密的市场分析调查、可行性研究、项目策划,对我们来说项目的可行性高于一切! 功能专业、布局严谨 以项目方案为蓝本,以现有成功地方网站为局部参考,并充分结合地方性网站的特点与...

    基于yolov5识别验证码的备案查询程序源码+全部数据(毕业设计).zip

    基于yolov5识别验证码的备案查询程序源码+全部数据(毕业设计).zip该项目是个人高分毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 基于yolov5识别验证码的备案查询程序...

    君行5000ERP(C#源码).rar

    君行5000ERP(C#源码).rar!!!!!!!!!!!!!!!!!!!!

    TOP交通车辆违章查询源码V1.0(免费手机微信版)

    最新交通车辆违章查询源码,免费手机微信版本,本地数据,网站界面简洁,功能明了,头部和底部均设置广告位,简单易用。 演示站为商业版,功能齐全,车辆违章查询、违章代码查询、网上车管所,实时路况、自驾导航、...

Global site tag (gtag.js) - Google Analytics