`
fackyou200
  • 浏览: 312671 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

获取web环境中的相应路径的工具类

 
阅读更多
/**  
 * 获取web环境中的相应路径  
 *   
 * @author xwz  
 * @date Jan 5, 2010  
 */  
public class PathUtil {   
    public static final String CLASSES = getClassesPath();   
    public static final String WEB_INF = getWEB_INFPath();   
    public static final String WEB_ROOT = getWEB_ROOTPath();   
  
    /** 获取某个类所在的路径 */  
    public static String getClassPath(Class cls) {   
        String s = cls.getResource("").getPath();   
        if (s.startsWith("/")) s = s.substring(1);   
        return s;   
    }   
  
    /** 获取classes目录下的资源流 */  
    public static InputStream getInputStreamFromClasses(String packageNameAndFileName) {   
        try {   
            FileInputStream fin = new FileInputStream(CLASSES + packageNameAndFileName);   
            return fin;   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        }   
        return null;   
    }   
  
    /** 获取WEB-INF目录下的资源流 */  
    public static InputStream getInputStreamFromWebInf(String fileName) {   
        try {   
            FileInputStream fin = new FileInputStream(WEB_INF + fileName);   
            return fin;   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        }   
        return null;   
    }   
  
    /**  
     * 从jar文件获取资源流  
     *   
     * @param oneClassInJar jar里面的一个类  
     * @param fileName  
     * @return  
     * @author xwz  
     */  
    public static InputStream getInputStreamFromJar(Class oneClassInJar, String fileName) {   
        InputStream is = oneClassInJar.getResourceAsStream(fileName);   
        return is;   
    }   
  
    private static String getClassesPath() {   
        String s = PathUtil.class.getResource("/").getPath();   
        if (s.startsWith("/")) s = s.substring(1);   
        return s;   
    }   
  
    private static String getWEB_INFPath() {   
        String s = "";   
  
        String classes = getClassesPath();   
        int last = classes.lastIndexOf("classes/");   
  
        return classes.substring(0, last);   
    }   
  
    private static String getWEB_ROOTPath() {   
        String s = "";   
  
        String classes = getClassesPath();   
        int last = classes.lastIndexOf("WEB-INF/classes/");   
  
        return classes.substring(0, last);   
    }   
  
    public static void main(String[] args) {   
        System.out.println(PathUtil.CLASSES);   
        System.out.println(PathUtil.WEB_INF);   
        System.out.println(PathUtil.WEB_ROOT);   
        System.out.println(PathUtil.getClassPath(User.class));   
  
        InputStream classesIn = PathUtil.getInputStreamFromClasses("config/fckeditor.cfg");   
        InputStream webinfIn = PathUtil.getInputStreamFromWebInf("tlds/c.tld");   
        InputStream jarIn = PathUtil.getInputStreamFromJar(User.class, "/resource/res.txt");   
    }   
}  

 

分享到:
评论

相关推荐

    普通java类获取绝对路径

    5. **Java类中获取相对路径和绝对路径**:在Java中,`Path`类提供了处理路径的工具。`Paths.get()`可以用于构建或解析路径,`toAbsolutePath()`和`toRealPath()`则可以转换为绝对路径或实际存在的路径。 6. **阅读...

    获取网页上 xpath , css 路径的插件, 方便爬虫、自动化测试相关软件工作者快速获取页面上html元素路径

    在IT行业中,尤其是在网页爬虫和自动化测试领域,获取网页上的XPath和CSS选择器路径是一项基本且重要的技能。XPath和CSS选择器是两种常见的定位HTML元素的方法,它们被广泛用于网页抓取、网页自动化和测试工具中。这...

    解压缩工具类

    "web开发"指出这个工具类适用于Web应用环境,可以处理服务器端的文件解压需求。"unziputil"可能是这个工具类的命名,暗示它是针对ZIP文件解压的。 在Java中,处理压缩文件一般会用到Java的内置API,如`java.util....

    读取webroot文件下的属性文件

    在Web开发中,"webroot"(Web根目录)是一...此外,为了提高代码的可维护性和复用性,这些操作通常会被封装到一个单独的服务或工具类中。这样,其他组件只需调用相应的方法即可获取配置信息,无需关心文件的读取细节。

    ssh常用工具类

    在Web应用中,用户下载文件时,这样的工具类能提供便捷的下载管理。 5. **MailUtil.java**:邮件发送工具类,用于发送邮件,包括设置SMTP服务器、邮箱认证、添加收件人、抄送人、主题、正文、附件等功能。在系统...

    Spring与Web环境集成1

    在Web应用的任何Servlet或Filter中,我们可以通过`WebApplicationContextUtils`工具类获取ApplicationContext: ```java ServletContext servletContext = ...; // 获取ServletContext对象 ApplicationContext ...

    实用工具类

    【实用工具类】是Java开发中的重要组成部分,它是一系列常用功能的集合,方便开发者在项目中快速调用,提高开发效率。以下是对标题和描述中...在实际开发中,根据需求可以选择或自定义相应的工具类,以满足项目需求。

    mybatis自动生成Java实体类和映射文件的自动生成类工具

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在实际开发中,手动编写实体类(Entity)和Mapper映射文件(XML与接口)会...在Java与MyBatis的开发环境中,掌握这类工具的使用是十分必要的。

    找出Web程序依赖的所有的JAR

    5. **使用系统类加载器**:通过Java的反射API,可以调用`ClassLoader`的`getResources()`方法,查找特定的类路径元素,比如`META-INF/MANIFEST.MF`,来获取JAR信息。 6. **日志分析**:在某些情况下,应用服务器在...

    java 基于poi的excel操作工具类

    `ExcelUtil` 可能有一个 `storeToServer(InputStream inputStream, String serverPath)` 方法,它接收输入流(可能是从请求中获取的Excel文件),然后将文件保存到服务器的特定路径下。 4. **返回流**: 对于需要...

    webapi 项目代码及winform下调用接口

    - **HttpClient类**:用于发送HTTP请求,是WinForm应用中调用WebAPI的主要工具。 - **异步编程**:为了保持用户界面的响应性,通常使用async/await关键字执行网络操作。 - **序列化和反序列化**:数据在发送到Web...

    MyEclipse 搭建 ParlayX Web Service 短信平台测试环境

    3. **导入ParlayX库**:获取ParlayX SDK,将其包含的JAR文件添加到项目的类路径中。这通常包括ParlayX API的实现以及相关的XML处理库。 4. **编写服务代理**:根据ParlayX Web Service的WSDL文件,使用MyEclipse的...

    web.py flup

    2. 请求处理:web.py提供了一个`web.input()`函数,用于获取HTTP请求中的参数。同时,它支持GET和POST请求,以及文件上传。 3. 模板渲染:web.py内置了模板引擎,支持简单的模板语法,如变量替换、条件判断、循环等...

    Accessing Web Services from a Visual Web Application

    IDE会自动发现服务的WSDL(Web Service Description Language)文件,并创建相应的客户端代理类,使得开发者可以像调用本地方法一样调用Web服务。 **4. 使用SOAP Web服务** 对于SOAP服务,NetBeans自动生成的客户端...

    weboffice例子

    这通常涉及在构建系统(如Maven或Gradle)中添加相应的依赖,确保在开发环境中可以访问到Weboffice的相关类和方法。 2. **Java接口调用**:在Java后端,我们可以利用Weboffice提供的API来处理Word和Excel文档。例如...

    查看数据库的路径方法

    AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.LastIndexOf(@"\"))`主要用.NET Framework中的`AppDomain`类来获取当前应用程序域的配置文件路径,并从中提取出配置文件所在的目录路径。 #### 详细...

    web平台调用hadoop集群2.0

    如果Web应用需要使用这些算法,需要将Mahout的JAR文件添加到Hadoop的类路径中,然后通过Web接口调用对应的算法。 6. **监控和日志**:为了跟踪任务的运行情况,需要实现日志记录和监控功能。Hadoop提供了诸如...

    webServices傻瓜开发教程

    MyEclipse是一款强大的Java集成开发环境,它提供了方便的Web Service工具。打开MyEclipse,选择"New" -> "Web Service",然后按照向导的步骤,为你的项目命名并配置相关设置。这一步将生成一个基础的Web Service工程...

    如何获取object中的属性值

    `JavaScriptSerializer`是.NET Framework提供的一种用于序列化和反序列化对象为JSON格式的工具类。它可以通过将JSON字符串转换为.NET对象(如`Dictionary, object>`),从而让我们能够方便地访问这些对象的属性。 #...

    java 调用 web seervice 方法

    要使用 Axis2,你需要下载 Axis2 的相应版本,然后运行 `wsdl2java` 工具,指定 Web Service 的 WSDL 地址,该工具会自动生成客户端的 stub 类和回调处理器类。生成的 stub 类提供了直接调用 Web Service 方法的能力...

Global site tag (gtag.js) - Google Analytics