归档功能之CSS归档

因项目需要,对内部信息化系统进行前端文件的归档,CSS文件归档,伴随着图像URL的变化,因系统中CSS中含url:(../UI/images/excel.jpg)之类的相对路径。

故此需要对此类情况进行替换,在该功能中有三个已知的参数:

1、原CSS的绝对路径

2、CSS文件中背景图像的URL

3、CSS归档后的绝对路径

代码如下:

/*******************************************************************************
 * $Header$
 * $Revision$
 * $Date$
 *
 *==============================================================================
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 *
 * Created on 2015-2-9
 *******************************************************************************/

package org.gocom.bpm.platform.test;

/**
 *
 *
 * 2015-2-9 上午09:07:35
 */
public class ImagePathMatch {

	public static void main(String[] args) {
		String src = "/eos-default/UI/style/commons.css";
		String image = "../images/null.gif" ;
		String dest = "/eos-default/UI/archive/UI/style/commons.css";

		/*
		 * 1、获取图像的绝对路径
		 * 2、比较源路径和目的路径的层次
		 * 3、得出最后的图像的相对路径
		 */
		String[] arrSrc = src.split("/");
		String[] arrImage = image.split("/");
		int i=arrSrc.length,j=arrImage.length;
		int p = 0,q=1;
		StringBuilder sb = new StringBuilder(128);
		sb.append("/");
		for(int k=0;k<j;k++){
			if(arrImage[k].equals("..")){
				p+=1 ;
			}
		}
		while((q+p*2)<i){
			sb.append(arrSrc[q++]).append("/");
		}
		while(p<j){
			sb.append(arrImage[p++]);
			if(p<j)
				sb.append("/");
		}
		System.out.println(sb.toString());
		String midPath = sb.toString() ;
		sb.delete(0, sb.length());
		String[] arrMid = midPath.split("/");
		String[] arrDest = dest.split("/");
		boolean flag = true ;
		q =0 ;
		while(flag){
			if(arrMid[q].equals(arrDest[q]))
				q ++ ;
			else
				flag = false;
		}
		p  = arrDest.length ;
		int s = q ;
		while(q<p){
			sb.append("..").append("/");
			q ++ ;
		}
		p = arrMid.length;
		s = s-1 ;
		while(s<p){
			sb.append(arrMid[s++]);
			if(s < p) sb.append("/");
		}

		System.out.println(sb.toString());
	}
}

  

时间: 02-07

归档功能之CSS归档的相关文章

TurboGate邮件网关归档功能,让您不再害怕“万一”

俗话说:不怕一万,就怕万一!日常生活中,对于发生概率极低的事情(也就是我们常说的"万一"),如果一旦发生了,往往都会产生灾难性的后果.例如:金融危机.9.11事件.马航失联-- 对于企业来说,哪些"万一"事件会影响到企业呢?如:重要数据丢失.业务信息系统崩溃-- 对于这些风险事件,可以说,没有任何一种措施可以彻底杜绝其发生,但是企业却能通过一些工具.管理方法最大程度地降低这些风险,或者当风险事件发生后,将不良影响降到最低. 在 信息化时代的今天,电子邮件已然成为企事

IOS文件操作和自定义对象的归档(序列化)、反归档(反序列化)

IOS对文件操作包含文件的创建,读写,移动,删除等操作. 1.文件的创建: //设定文本框存储文件的位置 NSString *strFilePath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]; //指定存储文件的文件名 NSString *fileName=[strFilePath stringByAppendingPathComponent:@

Oracle 11g由非归档模式改成归档模式

u 说明 在Oracle 11g,开启archive log模式时,默认归档目录为db_recovery_file_dest指定.此参数在pfile/spfile中可以指定: db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' 需要在mount状态下,更改归档模式 u 修改步骤 ü  启动到mount状态 SQL> startup mount; ü  查看归档模式 SQL> archive log list; Database

IOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 8.0是模拟器版本)/Users/apple/Libra

linux压缩、解压和归档

1      简介 压缩格式  gz bz2 xz zip Z 压缩算法:算法不同,压缩比也不相同 压缩比:(压缩前的文件大小-压缩后的文件大小)/压缩前的文件大小 文本文件压缩比大,图片视频比较小 xz>bz2>gz2>Z #这个对于大文件生效,小文件未必 常用的压缩解压工具: compress/uncompress .Z (比较老的压缩算法,比较少使用了) gzip/gunzip .gz (不支持目录压缩) bzip2/bunzip2 .bz2不支持目录压缩) xz/unxz .xz

iOS:沙盒、偏好设置、归档、解归档

一.沙盒和应用程序包 •iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被称为沙盒 •iOS常用目录: –Bundle –Documents –Library/Caches –Library/Preference –tmp 显示mac隐藏文件:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏mac隐藏文件:defaults write com.apple.finder AppleSh

logminer挖掘归档日志,针对DDL误操作的恢复

日志挖掘,未开启补充日志功能,利用归档对DDL操作进行恢复:        Oracle   的日志文件中,对于表等用户对象(Object),并不是保存名字,而是保存一个ID号.建立字典文件的目的就是使logminer在分析时可以将Object   ID翻译成我们所熟悉的对象名.       建立字典文件之前,先要确保数据库的初始化参数   UTL_FILE_DIR   已经正确地设置.通过命令可以查看是否有字典文件:show parameters utl_file_dir; [email pr

归档压缩命令篇

归档压缩命令篇  压缩目的:为了传输节约宽带  压缩解压命令:    1.    compress[linux默认木有安装]         压缩:compress -v 压缩源文件名   --v  显示压缩进度   --压缩后缀为:.Z ---压缩,删除了源文件           如:compress -v services         解压:uncompress 压缩文件名             如:uncompress services.Z         compress -c

Linux 入门之文件的压缩和归档(2)

Linux入门之归档与压缩(二) 前言 在linux中,不仅有常见的压缩工具,也有打包工具,把单个或多个文件.文件夹打成包,方便管理,而tar工具就能很好的打包,然后调用其它压缩工具进行打包压缩结合 tar 命令用法: tar  [option]...  /path/to/file... -c :创建归档 -f :指明归档文件路径 -t :查看归档文件列表 -x :展开归档 -C :展开归档时使用此项执行展开路径 -j  :调用bzip2工具 -z  :调用gzip 工具 -J  :调用 xz