`
bubble
  • 浏览: 149415 次
  • 性别: 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在构建网络应用中的核心技术和实际应用。 ...

    C#工作流引擎源码(绝对好!!)

    本文将深入探讨C#工作流引擎的源码,以及如何利用这些源码进行学习和开发。 首先,我们需要理解工作流的基本概念。工作流是指一系列相互关联的任务,这些任务按照特定的顺序执行,以完成一个业务过程。在C#中,工作...

    SSCOM源码 DELPHI 源码

    SSCOM源码 DELPHI 源码 绝对源码!欢迎下载

    公交查询系统源码(JAVA)

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

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

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

    仿直播吧源码 极品5+体育全站自动采集带聊天功能

    仿直播吧源码 极品5+体育全站自动采集带聊天功能 1、把文件上传到你的站点的根目录,然后运行 http://你的域名/install/index.php 安装,根据提示填写好相关信息,点“下一步”...即可完成安装。 注意:数据库前缀...

    快递查询工具 快递100源码

    快递100源码是金蝶旗下友商网开发的快递查询系统的源代码,它的核心功能是实现对全球各大快递公司的物流信息进行实时抓取、解析和展示,为电商平台、个人用户以及其他需要快递查询服务的企业或开发者提供了强大的...

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

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

    多功能在线报价系统源码

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

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

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

    易语言模块反编译源码(已解决BUG)

    而且发布了源码!!大家快来下载!!! (编译需要模块。) 模块下载地址: http://download.csdn.net/source/2635638 (想要编译,先下模块!!!↑↑↑↑下了模块再下载这个源码,就可以编译了!) (不会用的...

    Minix3 源码解析(精华!)

    ### Minix3 源码解析(精华!) #### 标题解读 标题明确指出本文旨在解析 Minix3 的源代码,并强调了所选内容的精炼性与实用性。Minix 是一款历史悠久的操作系统,其设计哲学对于学习操作系统原理极具价值。通过...

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

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

    仿58同城赶集网源码

    分类源码,信息发布网站源码,信息源码,信息港网站源码,asp信息港源码,信息类网站源码,多种分类源码,信息网源码下载,asp信息网源码,信息发布系统源码,物流信息源码,房产信息网源码.net源码,公安信息网源码,家教信息...

    游戏支付平台源码+游戏充值平台+第3方支付平台源码+游戏网关支付接口

    不管你处于那一个梦想环节,这款游戏支付源码也许适合你 ! 源码内容我就不过多介绍,你们看演示站就可以了、支持主流几款游戏 热血传奇 传奇世界 传奇3 魔域 天龙八部 劲舞团 诛仙 完美世界 奇迹 神泣 ...

    spring-framework完整源代码(spring框架源码)

    以上数十子模块源码全部为完整源码!是j2ee学习者难得的优秀学习材料! 下载本资源请阅读以下注意事项: 本工程所需jar文件: 因为我(hexiang221)在csdn的上传权限仅为20M,而本工程源码+jar文件共28.4M, 所以我...

    java源码包---java 源码 大量 实例

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

Global site tag (gtag.js) - Google Analytics