`
bubble
  • 浏览: 149077 次
  • 性别: 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();
	}
}
 
分享到:
评论

相关推荐

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

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

    淘宝信誉查询网站源码

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

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

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

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

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

    SSCOM源码 DELPHI 源码

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

    C# IP查询所在地源码

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

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

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

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

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

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

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

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

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

    Minix3 源码解析(精华!)

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

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

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

    Android高仿滴滴打车等软件项目源码与我要打车源码

    在本项目中,我们主要探讨的是一个针对Android平台的高仿滴滴打车应用的源码实现,这将涉及多个关键的技术领域,对于学习和理解移动应用开发,特别是出行服务类应用的开发,具有很高的参考价值。 首先,项目的重点...

    仿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源码...

    分享 mud 文字游戏 源码

    为了进行二次开发,你需要具备一定的编程基础,理解源码使用的编程语言,并且对游戏开发有基本的认知。你可以根据需求修改现有的房间、物品、命令或者添加新的功能。例如,你可以扩展游戏世界,增加新的地图和剧情;...

    花旗游戏支付平台源码

    现在花旗,提供支付平台源码程序,打造一个你自己的传世支付平台,免费推荐俺一手的sp通道商。让你做平台无忧,免费提供技术支持 广大GM为什么要担这个风险呢,为什么不自己去买套属于自己的游戏支付平台程序呢 ,...

    易语言{网络注册 登录 源码 本人耗时5小时开发}

    网络注册登录 源码 ...6.我不知道这次还会不会上传失败(前几次我上传的源码失败了几次 额....) 7.如果上传成功....大家下载后对源码满意 就给我顶顶吧... 8.本源码100%由我本人所创..........

Global site tag (gtag.js) - Google Analytics