加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中的getResource基于Codenvy中的URI

发布时间:2020-12-15 02:15:21 所属栏目:Java 来源:网络整理
导读:那是我的控制器: public class GreetingController implements Controller{ private static final String MARKERS_FILE_NAME = "markers.txt"; @Override public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) thr
那是我的控制器:

public class GreetingController implements Controller
{

  private static final String MARKERS_FILE_NAME = "markers.txt";


   @Override
   public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception
   {

        String result = null;

          File file = new File(getClass().getResource(MARKERS_FILE_NAME).toURI());
       }
}

我有文件markers.txt在控制器的同一级别但不可理解我在这一行上有一个Nullpointer:File file = new File(getClass().getResource(MARKERS_FILE_NAME).toURI());

java.lang.NullPointerException
    com.codenvy.example.spring.GreetingController.handleRequest(GreetingController.java:27)
    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

仅供参考:我正在使用https://codenvy.com/

enter image description here

我也试过了

InputStream in = this.getClass().getClassLoader()
               .getResourceAsStream("com/codenvy/example/spring/markers.txt");
  BufferedReader br = new BufferedReader(new InputStreamReader(in));

有了这个结果:

java.lang.NullPointerException
    java.io.Reader.<init>(Reader.java:78)
    java.io.InputStreamReader.<init>(InputStreamReader.java:72)
    com.codenvy.example.spring.GreetingController.handleRequest(GreetingController.java:32)

解决方法

我认为您需要指定文件markers.txt相对于类路径根的路径.由于您的屏幕截图显示了包结构,因此该路径是已知的.以下任何一种都应该有效:

InputStream in = this.getClass().getClassLoader()
                .getResourceAsStream("com/codenvy/example/spring/SomeTextFile.txt");

InputStream in = this.getClass()
      .getResourceAsStream("/com/codenvy/example/spring/SomeTextFile.txt");

上面的片段返回一个InputStream,假设您计划读取文件,这对您来说已经足够了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读