java 文件
来源:互联网 发布:淘宝psd模板怎么用 编辑:程序博客网 时间:2024/05/23 13:18
Java常见的对文件操作的类:
java.io.File:文件系统中的目录和文件
java.util.zip.ZipFile:压缩文件
java.util.jar.JarFile:jar文件
java.util.Properties:以key和value为格式的文件。通常是properties文件
除了以上常用的文件,还是一些特殊的文件,比如vfs文件
现在很多应用服务器发布war包后,都是通过vfs文件来访问war包下的文件,如:vfs:/D:/ test.war/WEB-INF/lib/test.jar/plugins/
最常见的就是加载war包下的配置文件,用File是不能加载的,可以用classLoader.getResourceAsStream来加载。但如果要遍历war包下某个目录。只能通过应用服务器支持的虚拟文件来操作,
如jboss-vfs-3以上: org.jboss.vfs.VirtualFile
Spring的配置文件如果用通配符来加载:classpath*:spring/applicationContext*.xml
早期版本是不支持的,在spring3以后修复了这个问题
PathMatchingResourcePatternResolver源码:
protected Resource[] findPathMatchingResources(StringlocationPattern)throws IOException {
String rootDirPath = determineRootDir(locationPattern);
String subPattern =locationPattern.substring(rootDirPath.length());
Resource[] rootDirResources = getResources(rootDirPath);
Set<Resource> result = new LinkedHashSet<Resource>(16);
for (Resource rootDirResource : rootDirResources) {
rootDirResource = resolveRootDirResource(rootDirResource);
if (isJarResource(rootDirResource)) {
result.addAll(doFindPathMatchingJarResources(rootDirResource,subPattern));
}
elseif (rootDirResource.getURL().getProtocol().startsWith(ResourceUtils.URL_PROTOCOL_VFS)){
result.addAll(VfsResourceMatchingDelegate.findMatchingResources(rootDirResource,subPattern, getPathMatcher()));
}
else {
result.addAll(doFindPathMatchingFileResources(rootDirResource,subPattern));
}
}
if (logger.isDebugEnabled()) {
logger.debug("Resolvedlocation pattern [" + locationPattern+"] to resources " + result);
}
return result.toArray(new Resource[result.size()]);
}
注意:如果你的项目中有一套自己的资源配置类,就需要把vfs考虑进来(除非你的所有资源配置文件都可以通过war包外加载)。
- java 文件
- java文件
- java文件
- java 文件
- Java文件
- java 文件
- JAVA文件
- Java文件
- java文件
- java 编译.java文件
- JAVA读文件写入文件
- java web 文件文件上传
- java 创建文件+写入文件
- java 读文件写文件
- java 读文件 写文件
- [JAVA]文件操作--文件重命名
- java web 文件文件上传
- java ---- 文件读取文件另存为
- JS 弹出新窗口,在新窗口获取传过来的参数
- JS 弹出新窗口
- JS 跳转页面和打开新窗口用法
- Extjs 动态改变fieldLabel的值
- 更改vs2008开发环境设置
- java 文件
- c# winForm下datetimepicker控件格式设置
- C# 生成excel时报错,异常来自:HRESULT:0x80028018(TYPE_E_INVDAIAREAD)
- 在IE6在瀏覽器, 解決 json未定義的錯誤
- IT职涯路 (转)
- c#中float类型中保留两位小数点
- C#正则表达式大全
- 关于程序员的59条搞笑但却真实无比的编程语录
- 解决输入法不能用的问题