getResourceAsStream() 找到资源,但它会写入一个空文件
getResourceAsStream() finds resource, but it will write an empty file
我的资源文件夹中有一个 .properties 文件。我想加载文件但是当我使用 IOUtils 读取我的文件内容时,它只会创建一个新的空文件并且不会复制我的 test.properties.
的内容
try (InputStream demoTemplate =
MyClass.class
.getClassLoader()
.getResourceAsStream("/config/test.properties")
{
IOUtils.copy(demoTemplate, new FileWriter(destinationFile));
LOGGER.debug(" demo file content: " + OUtils.toString(demoTemplate));
}
我的日志输出为空,将创建文件但没有内容。
当我更改 test.properties 文件的路径时,它会导致 FileNotFound
异常,因此我确定 ClassLoader 可以加载 respurce。 test.properties
文件包含数据。
您的日志输出为空,因为您已将 InputStream
耗尽到目标文件中。
您的输出可能为空,因为 FileWriter
从未正确刷新或关闭。
也许你可以读取目标文件并记录下来,再次打开原始源,保留输入流内容的副本,或者在传输数据时记录下来,尽管这不需要使用简单的 IOUtils
助手.
我的资源文件夹中有一个 .properties 文件。我想加载文件但是当我使用 IOUtils 读取我的文件内容时,它只会创建一个新的空文件并且不会复制我的 test.properties.
的内容 try (InputStream demoTemplate =
MyClass.class
.getClassLoader()
.getResourceAsStream("/config/test.properties")
{
IOUtils.copy(demoTemplate, new FileWriter(destinationFile));
LOGGER.debug(" demo file content: " + OUtils.toString(demoTemplate));
}
我的日志输出为空,将创建文件但没有内容。
当我更改 test.properties 文件的路径时,它会导致 FileNotFound
异常,因此我确定 ClassLoader 可以加载 respurce。 test.properties
文件包含数据。
您的日志输出为空,因为您已将 InputStream
耗尽到目标文件中。
您的输出可能为空,因为 FileWriter
从未正确刷新或关闭。
也许你可以读取目标文件并记录下来,再次打开原始源,保留输入流内容的副本,或者在传输数据时记录下来,尽管这不需要使用简单的 IOUtils
助手.