当前位置: 首页 > 知识库问答 >
问题:

Spring mvc属性-java.io.FileNotFoundExc0019:config.properties(系统找不到指定的文件)

明财
2023-03-14

我已经创建了一个属性文件,并试图在我的SpringDAO类文件中访问它,但是得到了“java.io.FileNotFoundException:config.properties(系统找不到指定的文件)”。我尝试了不同的方案将文件放在不同的文件夹/位置,但遇到了相同的问题。谁能帮我一下吗。以下是代码和结构细节,

在道课上,,

FileReader reader = new FileReader("config.properties");
Properties properties = new Properties();
properties.load(reader);

我试图把config.properties文件放在src/main/Resources下,也放在WEB-INF/下。我的DAO类在src/main/java/com/test/ao中。

共有2个答案

酆华皓
2023-03-14

如果您试图读取属性文件,最佳做法是将其保存在src/main/resources文件夹中,根据spring,这是属性文件的默认位置。您可以使用注释来读取属性文件中的值,spring将自动读取并注入这些值。

通过使用@value注释:

@Value( "${jdbc.url:aDefaultUrl}" )
private String jdbcUrl;

注意:这里您还可以指定默认值。

通过使用xml配置:

<bean id="dataSource">
<property name="url" value="${jdbc.url}" />
<bean>

通过使用@PropertySource注释:

@Configuration
@PropertySource("classpath:foo.properties")
public class PropertiesWithJavaConfig {
//...
}

在这里,您可以提供要在类中映射的键,它将自动映射到字段。

还可以指定多个特性文件,如:

@PropertySources({
@PropertySource("classpath:foo.properties"),
@PropertySource("classpath:bar.properties")
})

注意:请记住,要使其正常工作,属性文件的扩展名应为。属性文件中的属性和值应遵循属性文件约定。

楚俊逸
2023-03-14

您可以在最合适的位置将文件保存在src/main/resources中,并将检索方式更改为:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config.properties").getFile());
FileReader reader = new FileReader(file);
 类似资料:
  • 我刚刚开始使用Android Studio 1.3 sdk 24,直到今天,它一直运行良好。我收到有关缓存的错误消息。属性并删除该缓存文件,但现在我收到以下错误消息: 错误:C:\用户\user1.gradle\缓存\2.4\脚本\asLocalRepo15_dhjxrnvsgiyg1ow3dfj4myl7\InitScript\initscript\cache.properties(系统找不到指

  • 问题内容: 我有一个名为 的文件。 它与我的文件位于同一目录中。 但是,当我尝试通过以下代码访问它时,找不到此文件,发生错误: 这是我的代码: 问题答案: 直接将word.txt作为项目根文件夹的子级和src的对等方放置 免责声明:我想解释一下为什么这种方法适用于这种特殊情况,以及为什么它可能不适用于其他情况。 工作原理: 使用或任何其他变体时,你正在文件系统上相对于“工作目录”查找文件。工作目录

  • 问题内容: 我收到以下错误 但我可以肯定地说,我已经在src,bin和根目录下创建了一个in.txt文件。我还尝试在主要参数中指定完整目录,但仍然无法正常工作。为什么Eclipse不选择它? 问题答案: 我获取了您的代码,并使用以下命令行参数执行了该代码: 它完全没有问题。检查您的命令行。

  • 问题内容: 我正在制作一个打开并读取文件的程序。这是我的代码: 但是当我跑步时,出现以下错误: 我和位于同一目录中的以下位置: 我想知道我在做什么错? 问题答案: 我已经复制了您的代码,并且运行正常。 我怀疑您在hello.txt的实际文件名中仅存在一些问题,或者您在错误的目录中运行。考虑通过@ Eng.Fouad建议的方法进行验证

  • 我有一个名为""的文件。 它与我的< code>java文件在同一个目录中。 但是,当我尝试在以下代码中访问它时,会发生此文件未找到错误: 这是我的代码:

  • 我是编程新手。我最近尝试下载开源软件的源代码并设置环境。但是,当我第一次尝试运行构建时,我看到以下问题: 执行失败:Java . io . io异常:无法运行程序“unzip”(在目录中)....\"): CreateProcess error=2,系统找不到java.lang.ProcessBuilder.start中指定的文件 有什么解决这个问题的技巧吗? 据我所知,它无法成为文件: 在哪里查