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/ 我也试过了 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,假设您计划读取文件,这对您来说已经足够了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容