我想问一下,如何在SpringBoot中将文件夹作为资源或文件加载。假设我有src/main/resources/testfolder,我想做如下事情:
File f = ResourceUtils.getFile("classpath:testfolder");
^但这将失败,因为ResourceUtils只能加载实际文件(.txt、.csv等),不是文件夹。。提前非常感谢。。
编辑:
原因是我需要得到文件夹的绝对路径...
File f = ResouceUtils.getFile("classpath:testfolder");
String folderpath = f.getAbsolutePath();
folderpath应该是“/workspace/intellij/ProjectName/src/main/resource/testfolder”;
谢谢
如果你在资源文件夹下有任何文件夹(例如:config),你应该试试下面我提到的
File file = ResourceUtils.getFile("classpath:config/test.txt")
读取文件内容
String content = new String(Files.readAllBytes(file.toPath()));
System.out.println(content);
由于您希望使用临时目录进行测试,而不是试图使用Spring类来获取路径并将测试固定在其中,所以请使用JUnit中的TemporaryFolder
规则。
@RunWith(SpringRunner.class)
public class YourTest {
@Rule
private TemporaryFolder tempFolder = new TemporaryFolder();
@Test
public void yourTestMethod() {
String folder = tempFolder.getRoot();
when(yourMock.getOutputFolder()).thenReturn(folder);
// do your thing
// use tempFolder object to check files/read files etc.
}
}
Spring靴-1.4.1;IDE-IntelliJ 2016.3。EAP 我试图加载资源如下; 和 当我从IDE运行应用程序时,这两种方法都可以正常工作,但当我尝试将应用程序构建为war并将其部署到Tomcat上时,这两种方法都不起作用。 有人能帮我解决这个问题吗? 谢谢
我正在尝试访问src/main/Resources/XYZ/view文件夹中的xsd,其中XYZ/view文件夹是由我创建的,文件夹具有我需要进行xml验证的abc.xsd。 当我每次尝试访问xsd时,结果为null, 我试过了, 1) 2) 以及我为获取资源或类加载器等而进行的更多跟踪。 最后我得到了xsd, 文件文件 = 新文件(新类路径资源(“/src/main/resources/XYZ/
有没有办法说服Gradle接受文件夹中的资源文件(如XML文件)? 这将是伟大的,因为我需要把我的JavaFXXML文件放在那里。。。
我有一个SpringWeb应用程序,它是作为maven工件a.war创建的。它有一个maven依赖项和一个工件B.jar。工件B的src/main/resources有一个文件测试。txt。我想读一下测试文件。来自神器A.war的txt。当我引爆B.jar时,我看到了测试结果。jar的根位于txt中。在A中,我尝试使用文件f=new ClassPathResource(“test.txt”)读取该
我正在使用gradle构建uber jar,我使用的插件https://github.com/johnrengelman/shadow 我在文件夹中有一个json文件,我在下面的代码中使用它 当我运行uber Jar时,面临以下问题 我的build.gradle是这样的
问题内容: 我想知道我怎么可以将文件加载从文件夹到我的close方法。到目前为止的代码: 启动时控制台错误输出: 问题答案: 如果您想从jar文件中加载文件(例如,从classpath加载),请参阅此答案以获取有关如何获取的更多选项。在下面的代码中,我没有进行任何异常处理,并删除了您的相关代码。 编辑: 似乎您在文件夹结构上做错了什么,或者您使用了错误的包/文件名。只是要清楚。目前,您似乎在一个程