⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skinmanager.java

📁 java写的blog
💻 JAVA
字号:
/*
 * Created on 2004-10-5
 * Author: Xuefeng, Copyright (C) 2004, Xuefeng.
 */
package org.crystalblog.web;

import java.io.*;
import java.util.*;

import org.springframework.core.io.Resource;

/**
 * To map the skin id to the path of the skin.
 * 
 * @author Xuefeng
 */
public final class SkinManager {

    private List skinNames;
    private String[] skinDirs;
    private int count;

    public void setDirectory(Resource resource) {
        try {
            String baseDir = resource.getFile().getPath();
            String baseDirName = resource.getFile().getName();
            System.out.println("[INFO] skin dir = " + baseDir);
            System.out.println("[INFO] skin dir name = " + baseDirName);
            File dir = new File(baseDir);
            if(!dir.isDirectory())
                throw new Exception("Directory is not exist.");
            // search for all sub-directory:
            File[] subdirs = dir.listFiles();
            List dirs = new ArrayList();
            skinNames = new ArrayList();
            for(int i=0; i<subdirs.length; i++) {
                if(subdirs[i].isDirectory()) {
                    System.out.println("[INFO] Found a skin directory: " + subdirs[i].getName());
                    skinNames.add(subdirs[i].getName());
                    dirs.add("/" + baseDirName + "/" + subdirs[i].getName() + "/");
                }
            }
            count = dirs.size();
            if(count==0)
                throw new Exception("[WARNING] No skin found in the directory.");
            skinDirs = (String[])dirs.toArray(new String[0]);
        }
        catch(Exception e) {
            throw new RuntimeException("[WARNING] Failed in init skin directory.");
        }
    }

    public String getSkin(int skinId) {
        if(skinId<0 || skinId>=count) {
            return skinDirs[0];
        }
        return skinDirs[skinId];
    }

    public List getAllSkins() {
        return skinNames;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -