spring资源是文件还是目录?

2024-02-20

我正在使用 spring Resource API 并使用 ResourcePatternResolver 来扫描我的类路径中的文件。

在一种情况下,扫描会拾取预构建 jar 中的一些目录和文件以及文件系统上的一些目录和文件。

在任何一种情况下,“资源”都可以是文件或目录。如何可靠地检测资源是否指向目录或文件(无论是否在 jar 文件中)?呼唤getFile()在 jar 内的资源上抛出异常,所以我无法使用该加号isFile()正如我最初尝试的那样。


春天的Resource接口旨在成为一个更强大的接口,用于抽象对低级资源的访问。

它有时会包装文件,有时则不会。

它有六个内置工具:UrlResource, ClassPathResource, FileSystemResource, ServletContextResource, InputStreamResource, ByteArrayResource.

您可以自己实现资源表单。

The UrlResource包裹一个java.net.URL,并且可用于访问通常可通过 URL 访问的任何对象。如果你使用http:前缀,资源是一个URL。

The ClassPathResource表示应从类路径获取的资源。这Resource实施支持决议为java.io.File如果类路径资源驻留在文件系统中,但不适用于驻留在 jar 中并且尚未(通过 servlet 引擎或任何环境)扩展到文件系统的类路径资源。为了解决这个问题各种种类Resource实现始终支持分辨率作为java.net.URL.

FileSystemResource是一个工具java.io.File处理。它显然支持分辨率作为File并作为URL.

InputStreamResource是给定的资源实现InputStream。如果您需要将资源描述符保存在某处,或者需要多次读取流,请不要使用它。

ByteArrayResource is a Resource实现给定的字节数组。它为给定的字节数组创建一个 ByteArrayInputStream。

所以你不应该总是使用getFile()作为春天的Resource并不总是代表文件系统资源。因此,我们建议您使用getInputStream()访问资源内容,因为它可能适用于所有可能的资源类型。

参考:资源 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#resources

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring资源是文件还是目录? 的相关文章

  • 如何在 Visual C++ 中读取版本资源

    我在 C 项目的资源中有一个版本资源 其中包含版本号 版权和构建详细信息 有没有一种简单的方法可以在运行时访问它来填充我的帮助 关于对话框 因为我目前正在维护此信息的单独常量值 理想情况下 该解决方案应适用于 Windows CE mobi
  • 以编程方式在java的resources/source文件夹中创建文件?

    我有两个资源文件夹 src 这是我的 java 文件 资源 这是我的资源文件 图像 properties 组织在文件夹 包 中 有没有办法以编程方式在该资源文件夹中添加另一个 properties 文件 我尝试过这样的事情 public s
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • 使用 C++ 和 BOOST 读取 JSON 文件

    HTTP 服务器向我发送一个 JSON 响应 字符串 如下所示 folders id 109 parent id 110 path 1 105 110 id 110 parent id 105 path 1 105 files id 26
  • 使用spring自动装配时如何传递构造函数参数?

    我们的项目使用 spring DI IoC 所以我使用自动装配来注入 beans 程序在实例化期间需要将参数传递给对象 并且参数是在运行时 而不是在编译时 知道的 如何在使用自动装配时实现这一点 示例代码如下 界面 IMessage pac
  • Web 服务与 Spring 远程处理

    我完全不明白通过 spring 或 axis 实现的常规 Web 服务与远程处理之间的区别 如果我的问题根本不相关 我只是对 Spring Web 服务与 Spring 远程处理感到困惑 何时使用远程处理以及何时使用 Web 服务 感谢您的
  • 在 JUnit 中使用 Spring 测试服务时如何回滚数据库事务?

    我测试我的 DAO 和服务没有问题 但是当我测试时INSERTs or UPDATE我想回滚事务而不影响我的数据库 我在用着 Transactional在我的服务中管理交易 我想知道 是否有可能知道事务是否正常 但回滚它以防止更改数据库 这
  • Spring WebFlux、安全性和请求正文

    我需要使用请求正文的 HMAC 来保护使用 Spring Boot WebFlux 和 Spring Security 实现的 REST API 稍微简化一下 在较高的层面上 请求附带具有请求正文的哈希值的标头 因此我必须读取标头 读取正文
  • org.springframework.validation.BeanPropertyBindingResult异常

    嗨 我是 spring 框架的新手 我做了一个小例子 我尝试使用 spring 验证 api 验证我的输入字段 这是代码 RequestMapping value applicationFormSubmit method RequestMe
  • 从数据库和文件系统中删除文件

    我有一个表引用我们网络上共享位置中的文件 将文件路径存储在数据库中 我有一个按钮需要从数据库中删除记录并从文件系统中删除文件 foreach var report in reports string filePath report Repo
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 使用Spring将war文件WEB-INF目录下的资源导入到applicationContext文件中

    我在我的项目中使用 Spring 框架 我想导入下面的所有 xml 资源 文件 WEB INF CustomerService spring integration Jobs applicationContext配置文件中war文件的目录
  • 在 Python 中搜索文本文件并打印相关行?

    如何在文本文件中搜索关键短语或关键字 然后打印关键短语或关键字所在的行 searchfile open file txt r for line in searchfile if searchphrase in line print line
  • 如何在 Spring 中从 application.properties 重新加载 @Value 属性? [复制]

    这个问题在这里已经有答案了 我有一个spring boot应用 在run文件夹下 有一个额外的配置文件 dir config application properties 当应用程序启动时 它使用文件中的值并将它们注入到 Value my
  • 如何收集和存储tellp()、tellg()返回类型?

    我正在编写一个在文件中维护 linked list 的程序 因此 我通过使用tellp tellg 遍历文件并将其添加到特定的长整数 可以视为偏移量 以到达新位置 一个简单的例子是 long next offset sizeof long
  • 从文件 C 中的单行读取多个变量类型

    好吧 我一整天都在做这个 但我一辈子都无法把它记下来 也许你们可以帮忙 我有一个文件 内容如下 1301 105515018 水手长 迈克尔 R ABC 123 R01 1301 103993269 卡斯蒂利亚 小迈克尔 ABC 123 R
  • 从 .resx 文件组获取所有可用区域性

    我需要以编程方式列出 resx 文件组中的可用区域性 但 ResourceManager 类似乎没有帮助 我可能有 Labels resx Labels fr FR resx Labels ro RO resx 等等 但是 我如何在运行时找
  • 无法访问 res 文件夹?

    我有一个 Java 编程问题 需要帮助 我的类文件位于单独的包中 不是默认包 我正在尝试从我的 res 文件夹访问文件 我已将其添加为类文件夹 使用属性 gt 库 gt 添加类文件夹 在我的类中 我有以下代码 InputStream IS
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络

随机推荐

  • SlickGrid 中的额外列

    即使没有垂直滚动条 SlickGrid 始终在标题的最右侧保留一点空间 这个额外的空间看起来就像一个额外的列 我不想要这个额外的空间 我没有找到 SlickGrid 组件的任何公开 API 来删除它 我在里面看到过自动调整列大小 Slick
  • 两个大文件彼此的平行余弦相似度

    我有两个文件 A 和 B A has 400 000 lines each having 50 float values B has 40 000 lines having 50 float values 对于 B 中的每一行 我需要在 A
  • Python:字典列表,如何获取列表中多个项目的特定键的值?

    我有一个字典列表 例如 dict list key1 dict1 value1 key2 dict1 value2 key3 dict1 value3 key1 dict2 value1 key2 dict2 value2 key3 dic
  • 每行创建多边形并保留列

    早上好 下午好或晚上好 我已将一些位置数据分组到 1 小时的分组中 对于每个我都提取了最小的纬度和经度 它看起来像这样 df lt ID time bin count lat lon maxlat minlat maxlon minlon
  • nginx 连接到 .sock 失败(13:权限被拒绝)- 502 错误网关

    我正在使用 nginx uwsgi django 在 centos7 上部署我的第一个站点 它们在测试中单独工作得很好 但我在尝试将它们连接在一起时遇到了 502 bad gateway var log nginx error log 文件
  • D3.js:折线图 - 工具提示和悬停垂直线

    我一直在研究使用 D3 js 构建的交互式折线图 一次悬停时 我希望工具提示以垂直线显示 垂直线效果很好 但是 我遇到了与工具提示相关的问题 工具提示位置不在图表上 我只获取第一个数据元素 这是我的代码 margin top 20 righ
  • 如何减小 iPython 笔记本的文件大小?

    我有一个 IPython 笔记本 虽然里面的代码只有 100 行左右 但它有几兆字节大 我认为它那么大 因为我在里面加载了几张图像 我想将此笔记本添加到 git 存储库 但是 我不想上传那么大的东西 这样很容易再次生成 是否可以仅保存 IP
  • C# 如何反序列化嵌入文本中的 xml 标签?

    我正在尝试使用 XmlSerializer 反序列化 NET 的 XML 文档注释的输出 作为参考 xml 文档的输出如下所示
  • 在循环内部还是外部声明变量更好?

    最好这样做 variable1Type foo variable2Type baa foreach var val in list foo new Foo foo x FormatValue val baa new Baa baa main
  • Vim Fugitive:Gblame 重责选项

    我最近一直在使用Fugitive的Gblame 但不太明白 reblame 的作用 有人可以更清楚地描述这些选项的作用吗 reblame at commit reblame at count th first grandparent P r
  • 为什么赋值表达式 [String x = (x = y)] 的变量初始化可以编译?

    这个如何编译才不会报错呢 据我了解 编译器检查变量的类型 在本例中String 然后查看右侧表达式的类型是否对应于变量的类型 或至少是一个子类型 但让我们坚持使用简单的情况String类 因为它是最后的 public class InitC
  • 在实体框架中自定义类型映射

    我正在使用 EF5 Code First 并尝试存储 IPAddress 对象 如果您尝试直接执行此操作 EF 会将其存储为两列 FIELDNAME Address 和 FIELDNAME Scope 不幸的是 这不足以存储 IPv4 地址
  • 寻找基于 Django 类的视图并在单个页面上具有多个表单示例

    我一直在寻找如何使用较新的基于 Django 类的视图方法在一页上显示 2 个独特的表单 有人可以参考一下吗 或者提供一个基本的例子 谷歌并没有因此成为我的 朋友 关键是你甚至不必使用其中之一FormView处理表单的子类 您只需添加手动处
  • BluetoothLEDevice.FromIdAsync 返回 null

    这是用于获取 BLE 设备的 UWP 代码 为什么我在某些设备上得到 bleDevice null 我没有找到任何解释这一点的文档 var devices await DeviceInformation FindAllAsync Bluet
  • Xcode - Segue 问题

    我一直在努力让segue继续工作 我写了以下内容 但由于某种原因 preparesegue 方法不会触发 我已经阅读了其他相关的帖子 但我无法让它启动 而且同样重要的是 我需要的变量没有被传输 m file implementation C
  • jQuery - 检查是否第一次点击

    我有 2 个函数 A 和 B 只需单击一次 div 即可调用 我只需要在第一次单击时调用函数 A 并在单击时调用函数 B 我怎么能这样做呢 更简单的解决方案 element one click function Call A click f
  • 调整 Datagridview 上的 Rowheader 属性

    在 Winforms DataGridView 中 我该如何 删除行标题上的箭头 我需要显示行标题文本 所以我不能简单地设置RowHeadersVisible false 以编程方式调整行标题的宽度 我通过代码设置行标题 因此我需要调整宽度
  • 通过Matplotlib中的OO接口获取图形管理器

    我希望能够获取创建的图形的figure manager 例如我可以使用 pyplot 界面来完成此操作 from pylab import figure plot arange 100 mngr get current fig manage
  • MS Access XML 从文本或流而不是文件导入?

    有什么简单的方法可以完成与 Application ImportXML 等效的操作 但将 XML 作为字符串或文本流而不是文件 在 Access 2003 中 我想将记录插入到一 个包含许多字段的表中 其中包含来自应用程序中不同位置的数据
  • spring资源是文件还是目录?

    我正在使用 spring Resource API 并使用 ResourcePatternResolver 来扫描我的类路径中的文件 在一种情况下 扫描会拾取预构建 jar 中的一些目录和文件以及文件系统上的一些目录和文件 在任何一种情况下