/**
* 获取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");
}
}
分享到:
相关推荐
5. **Java类中获取相对路径和绝对路径**:在Java中,`Path`类提供了处理路径的工具。`Paths.get()`可以用于构建或解析路径,`toAbsolutePath()`和`toRealPath()`则可以转换为绝对路径或实际存在的路径。 6. **阅读...
在IT行业中,尤其是在网页爬虫和自动化测试领域,获取网页上的XPath和CSS选择器路径是一项基本且重要的技能。XPath和CSS选择器是两种常见的定位HTML元素的方法,它们被广泛用于网页抓取、网页自动化和测试工具中。这...
"web开发"指出这个工具类适用于Web应用环境,可以处理服务器端的文件解压需求。"unziputil"可能是这个工具类的命名,暗示它是针对ZIP文件解压的。 在Java中,处理压缩文件一般会用到Java的内置API,如`java.util....
在Web开发中,"webroot"(Web根目录)是一...此外,为了提高代码的可维护性和复用性,这些操作通常会被封装到一个单独的服务或工具类中。这样,其他组件只需调用相应的方法即可获取配置信息,无需关心文件的读取细节。
在Web应用中,用户下载文件时,这样的工具类能提供便捷的下载管理。 5. **MailUtil.java**:邮件发送工具类,用于发送邮件,包括设置SMTP服务器、邮箱认证、添加收件人、抄送人、主题、正文、附件等功能。在系统...
在Web应用的任何Servlet或Filter中,我们可以通过`WebApplicationContextUtils`工具类获取ApplicationContext: ```java ServletContext servletContext = ...; // 获取ServletContext对象 ApplicationContext ...
【实用工具类】是Java开发中的重要组成部分,它是一系列常用功能的集合,方便开发者在项目中快速调用,提高开发效率。以下是对标题和描述中...在实际开发中,根据需求可以选择或自定义相应的工具类,以满足项目需求。
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在实际开发中,手动编写实体类(Entity)和Mapper映射文件(XML与接口)会...在Java与MyBatis的开发环境中,掌握这类工具的使用是十分必要的。
5. **使用系统类加载器**:通过Java的反射API,可以调用`ClassLoader`的`getResources()`方法,查找特定的类路径元素,比如`META-INF/MANIFEST.MF`,来获取JAR信息。 6. **日志分析**:在某些情况下,应用服务器在...
`ExcelUtil` 可能有一个 `storeToServer(InputStream inputStream, String serverPath)` 方法,它接收输入流(可能是从请求中获取的Excel文件),然后将文件保存到服务器的特定路径下。 4. **返回流**: 对于需要...
- **HttpClient类**:用于发送HTTP请求,是WinForm应用中调用WebAPI的主要工具。 - **异步编程**:为了保持用户界面的响应性,通常使用async/await关键字执行网络操作。 - **序列化和反序列化**:数据在发送到Web...
3. **导入ParlayX库**:获取ParlayX SDK,将其包含的JAR文件添加到项目的类路径中。这通常包括ParlayX API的实现以及相关的XML处理库。 4. **编写服务代理**:根据ParlayX Web Service的WSDL文件,使用MyEclipse的...
2. 请求处理:web.py提供了一个`web.input()`函数,用于获取HTTP请求中的参数。同时,它支持GET和POST请求,以及文件上传。 3. 模板渲染:web.py内置了模板引擎,支持简单的模板语法,如变量替换、条件判断、循环等...
IDE会自动发现服务的WSDL(Web Service Description Language)文件,并创建相应的客户端代理类,使得开发者可以像调用本地方法一样调用Web服务。 **4. 使用SOAP Web服务** 对于SOAP服务,NetBeans自动生成的客户端...
这通常涉及在构建系统(如Maven或Gradle)中添加相应的依赖,确保在开发环境中可以访问到Weboffice的相关类和方法。 2. **Java接口调用**:在Java后端,我们可以利用Weboffice提供的API来处理Word和Excel文档。例如...
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.LastIndexOf(@"\"))`主要用.NET Framework中的`AppDomain`类来获取当前应用程序域的配置文件路径,并从中提取出配置文件所在的目录路径。 #### 详细...
如果Web应用需要使用这些算法,需要将Mahout的JAR文件添加到Hadoop的类路径中,然后通过Web接口调用对应的算法。 6. **监控和日志**:为了跟踪任务的运行情况,需要实现日志记录和监控功能。Hadoop提供了诸如...
MyEclipse是一款强大的Java集成开发环境,它提供了方便的Web Service工具。打开MyEclipse,选择"New" -> "Web Service",然后按照向导的步骤,为你的项目命名并配置相关设置。这一步将生成一个基础的Web Service工程...
`JavaScriptSerializer`是.NET Framework提供的一种用于序列化和反序列化对象为JSON格式的工具类。它可以通过将JSON字符串转换为.NET对象(如`Dictionary, object>`),从而让我们能够方便地访问这些对象的属性。 #...
要使用 Axis2,你需要下载 Axis2 的相应版本,然后运行 `wsdl2java` 工具,指定 Web Service 的 WSDL 地址,该工具会自动生成客户端的 stub 类和回调处理器类。生成的 stub 类提供了直接调用 Web Service 方法的能力...