zoukankan      html  css  js  c++  java
  • 关于Java中的路径问题一点小想法

    今天闲来无事,就重新研究了一下Servlet,想着以前读取路径用的方法是:

    先创建一个读取文件的输入流

    public static final String configFile="dbcp.properties";

    InputStream is = new InputStream(new FileInputStream(new File()));

    Properties property = new Properties();

    property.load(is);

    突发奇想,想着试一下用另外一种方法来读取配置文件

    (在此说明一下,项目结构是创建了一个和src同级的res目录,然后文件就保存在该目录下.)

    一开始,我读取文件的路径代码写成了下面:

    InputStream is = JDBCUtiles.class.getClassLoader().getResourceAsStream(res/configFile);

    .........

    后来一运行,就报了一个错误,错误代码如下:

    Exception in thread "main" java.lang.NullPointerException
     at java.util.Properties$LineReader.readLine(Unknown Source)
     at java.util.Properties.load0(Unknown Source)
     at java.util.Properties.load(Unknown Source)
     at com.huangchao.model.JdbcUtiles.init(JdbcUtiles.java:17)
     at com.huangchao.model.Test.main(Test.java:14)

    检查异常信息:空指针异常,就是说我没有读取到文件咯,一看就是文件的路径错误了,所以方法读取不到...

    一一检查.打开WEB-INF下的classes文件夹下的目录结构,才发现:...........................

    dbcp.properties文件被编译到的位置其实就是在根目录下........

    而且在该文件夹下面找不到有res文件夹....

    所以就是说,,,java虚拟机在编译该文件的时候,是忽略了res目录的.

    在eclipse中创建 的res目录只是为了好管理文件...

    正确代码如下:

    public static final String configFile = "dbcp.properties";

    InputStream is = JDBCUtiles.class.getClassLoader().getResourceAsStream(configFile);

    Properties property = new Properties();

    property.load(is);

  • 相关阅读:
    思维导图 第八章 项目质量管理
    思维导图 第七章 项目成本管理
    redis安装与配置
    思维导图 第六章 项目进度管理
    思维导图 第五章 项目范围管理
    Linux下用户-组权限配置
    意灵魔法馆首页的初步设计
    try catch自定义异常类的使用
    使用freemarker时,生成的html出现乱码
    乱码问题
  • 原文地址:https://www.cnblogs.com/sirab415/p/5709178.html
Copyright © 2011-2022 走看看