- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
那是我的 Controller :
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 与 Controller 处于同一级别,但令人费解的是我在这一行得到了一个 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
的路径指定为 relative 到类路径的根目录。由于您的屏幕截图显示了包结构,因此该路径是已知的。以下任一项都应该有效:
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream("com/codenvy/example/spring/SomeTextFile.txt");
InputStream in = this.getClass()
.getResourceAsStream("/com/codenvy/example/spring/SomeTextFile.txt");
上面的代码片段返回一个 InputStream
,假设您打算读取文件,这对您来说已经足够了。
关于java - 基于Codenvy中URI的Java中的getResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38122834/
两者有什么区别? 我的资源文件打包在根级包中。在我测试的特定情况下,调用 Class.class.getResource("/rec.txt") 似乎有效。但是,当我尝试在更大的环境 (hadoop)
该应用程序具有多语言 支持。但是我们在使用应用程序上下文刷新 Resources 时遇到了问题。 目前,我的 ViewModels 正在扩展 AndroidViewModel,这样我们就可以访问 Vi
我想了解使用 View.getResources() 和 View.getContext().getResources() 的真正区别。 例如,我必须从资源中为 TextView 设置颜色.. vie
getClass().getClassLoader().getResource()和getClass.getResource()有什么区别? 从资源中检索文件时,在什么情况下应该使用哪一个? 最佳答案
我从 What is the difference between Class.getResource() and ClassLoader.getResource()? 了解到并从自己的代码中,即 g
我一直在和我的伙伴一起制作 2D 游戏,并且我通过一些 Youtube 教程学习了很多关于一些基本游戏开发概念的知识。我正在学习的其中一件事是 Sprite (对于那些不知道的,2D 图像渲染到屏幕)
我有简单的 Activity : public class TestActivity extends MainActivity { @Override public void o
当我的测试类位于默认包中时,下面的测试方法通过,而当我将其移动到包中时,测试方法失败。 目录结构如下: src/ main/ java/ some.package/ r
这个问题已经有答案了: JavaFX: Weird ClassNotFoundException after updating to Java 9 (1 个回答) 已关闭 4 年前。 我是 Java
我想要以下形式的资源 URL C:/Users/.../build/classes/jam/lena1.png 为了实现这一点,我编写了以下代码 System.out.println(getClass
我希望有人能在这里帮助我,因为我已经与一个问题作斗争有一段时间了。在我的主类中,我使用以下命令: System.out.println(getClass().getClassLoader().getR
我有以下代码,用于在我的应用程序中创建带有两个选项卡的自定义 ListView: package com.test.testing; import android.content.Context; i
大家。 我是 Java 新手,正在使用 UI 制作培训项目。在培训过程中,我决定从资源加载图标并将其加载移动到不同的类中。并遇到问题。我真的试图自己找到答案,但找不到。代码如下。 主类 package
我在src文件夹下(在resources文件夹下)放了一些.txt文件。 但我无法在运行时从该资源创建有效的 File。 String path = this.getClass().getResour
这个问题在这里已经有了答案: Way to access resource files in python (4 个答案) 关闭 9 年前。 在 Java 中,如果我想读取包含算法资源数据的文件,我
我已经在 java SE 中设置了基本的 maven 项目,其中包含一个资源: main -java -resources -config -> database.properties
我有一个 A 类,它获取一个配置文件: this.getClass().getResource("cfgFile"); 现在我创建了一个需要 A 的 cfgFile 的新类 B。现在我正在做: A.c
这段代码不在mainActivity类中 错误: cannot find symbol method getResources() 代码: public void printPhoto(int im
我正在学习教程 here .该文件位于项目的同一根文件夹中。当它在 src 文件夹和同一个包文件夹中时,我已经尝试过这样做。这 3 个位置都不起作用。 具体的代码行是: ImageIcon ii =
我有以下问题。在我们的集成测试中,我们使用不同的配置,该配置将在测试之前使用以下代码从测试资源中加载: URL resource = ClassLoader.getSystemResource("ap
我是一名优秀的程序员,十分优秀!