java getResourcesAsStream()如何获取WEB-INF下的文件流

getResourcesAsStream()来读取.properties文件,但是getResourcesAsStream()仅在java项目时能获取根目录的文件;

在web项目中,getResourcesAsStream()是获取classes目录的根路径

例如:文件在WEB-INF/conf/conf.properties。

private Properties readConf(){  InputStream is = null;
  try{    //获取classes的路径,注意:由于转码的原因需要将%20(空格转码后的字符)替换为空格
       String classesUrl = this.getClass().getResource("").getPath().replaceAll("%20", " ");    //获取web项目的根路径,拼接文件路径
       String filePath = classesUrl.substring(0, classesUrl.indexOf("WEB-INF")) + "WEB-INF/xxx/xxx.properties";    //读取
       Properties p = new Properties();    is = new FileInputStream(filePath);
    p.load(is);     return p;   } catch(IOException e){     e.printStackTrace();   } finally{    try{      if(is !=null){        is.close();      }    }catch(IOException e){
      e.printStackTrace();
    }  }

  return null;}

java getResourcesAsStream()如何获取WEB-INF下的文件流,布布扣,bubuko.com

时间: 2024-10-20 13:39:18

java getResourcesAsStream()如何获取WEB-INF下的文件流的相关文章

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

XStream互转String和XML,以及如何读取web的下的文件

在项目开发中有时要传输xm文件,要转换成字符串传输,而无法使用对象传输,所以要进行转换,所用进行总结下利用XStream进行string与XML对象之间的互转,以及在转换某一包下所有的类. XML文件的解析和创建,请参考:http://blog.csdn.net/oyyz111/article/details/22730983 首先,利用Spring的PathMatchingResourcePatternResolver进行某包下的class文件的读取,其中用ant的匹配模式,例如congfig

关于web站点下敏感文件.DS_Store

最近在使用nikto工具扫描公司的web站点收集漏洞时,发现一个漏洞是发现敏感文件.DS_Store,就去查阅资料看了下,原来在Unix系统中的DS_Store 是用来存储这个文件夹的显示属性的,其中大量的被使用的是Mac OS X系统中,在与Mac OS X系统文件交互的时候就会带上这些文件,而在web服务器中肯定不希望别人看见其中的信息.那么如果你的web服务器上带有.DS_Store文件,那就一定会有信息泄露的可能,这个漏洞可能平时被忽视,但是作为生产服务器上有.DS_Store文件是不允

spring boot 打jar包,获取resource路径下的文件

前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到.我想到了两种方法,一种是根据http访问静态资源比如 localhost:9080/static/template/xxx.ftl文件.另外一种是根据流获取到文件,然后拷贝到新的文件夹下面.下面说的就是第二种方式的代码 public class DocUtil { //此路径是其他方法进行调用,且只需要加载一次private static String

获取Cygwin目录下所有文件的完全权限:takeown

Win7 64位企业版亲测. 假设Cygwin安装在F:\Cygwin64 目录下. 步骤: 1. 以管理员身份运行cmd 2. 输入命令: takeown /f F:\Cygwin64\* /r 等待完成即可.完成后,当前Windows用登陆户就获得了对F:\Cygwin64目录下所有文件的完全权限. 用途:重装系统后卸载Cygwin,在Cygwin使用过程中出现权限问题 补充: 如果仍然出现权限问题: 1. 右击Cygwin64文件夹 -> “安全”选项卡 -> “高级”按钮 ->

Java 遍历指定目录及子目录下的文件

/** * 遍历指定目录及子目录下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @param file 要遍历的指定目录 * @param collector 符合条件的结果添加到此List<File>中 * @param pathInclude 路径中包含指定的字符串 * @param fileNameInclude 文件名(不包含扩展名)中包含指定的字符串 * @param extnEquals 文件扩展名为指定字符串 *

WEB编程中获取src目录下的文件(没有src目录)

这种情况遇见的会比较多,像一个WEB工程,如果在src下面写了一个xml或者一些其它的文件,当工程发布到服务器时,web程序是在tomcat等服务器下运行这个程序的,这个时候,程序目录里面并没有src文件夹,那么这种情况下要怎么办呢? 其实当程序发布到服务器时,src下面的文件也会被一起发布到服务器中,只不过是没有了src的目录,这种情况下,可以用如下代码来获取: /** * 数据文件的位置 */ private static String dbFilePath=""; /** * 获

VBS获取指定目录下最新文件拷贝然后以当前日期命名

近期有个需求,想对数据的备份目录中数据再次远程拷贝到计算机上,所以我们就通过vbs脚本将备份目录下的最新文件拷贝到指定目录,然后以当前的系统日期命名,总结为下: 我们在D盘下的data目录下有系统的备份文件,然后以日期命名,我们想通过获取文件的最后 一次修改时间进行获取最新文件,然后进行拷贝 然后拷贝到指定目录中,我们也可以拷贝到远程计算机 我们在本地进行测试,在D盘下的databackup中即可 代码送上: sourcefilespath="D:\data" 'desfilepath

python获取工程路径下的文件方法

如下可以获取工程路径与文件存放的位置 import time, os, random import subprocess import re PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p)) # 获取当前文件所在的路径 cur_path = os.path.dirname(os.path.realpath(__file__)) print(cur_path) # 获取工程所在的路径,如果加入目