java - 使用 Jackson 编写和读取资源文件
问题描述
我正在尝试HashMap
使用 Jackson 将 a 保存为 JSON 文件。我希望所述文件位于我的资源文件夹中。
try {
new ObjectMapper().writeValue(
new File(MyClass.class.getResource("/path/file.json").toURI()), myHashMap);
} catch (URISyntaxException | IOException e) {
e.printStackTrace();
}
我已经尝试过这种方法,它没有产生异常,但给我留下了一个空白的 JSON 文件。没有数据写入其中。这是一些权限问题吗?
我也想将此文件作为HashMap
. 这是我目前的做法:
Map<Long, String> tmp;
try {
tmp = new ObjectMapper().readValue(
MyClass.class.getResourceAsStream("/path/file.json"), Map.class);
} catch (IOException e) {
tmp = new HashMap<>();
}
myHashMap = tmp;
有没有更好的方法来做到这一点?据我了解,当找不到文件时通常会引发异常(将实际错误排除在等式之外)。没关系,那就用空的吧HashMap
。由于它稍后会被填充并保存,所以这种情况只存在于第一次启动程序或文件被删除时。
现在我大多无法保存我的文件。
解决方案
推荐阅读
- r - 非连续矩阵的高级构造函数
- node.js - Passport-Azure-Ad 似乎异步运行
- php - 数据已从数据库中删除,但未删除表行,并且使用 ajax 在 php 中未减少总记录
- amcharts - 如何根据条件动态更改子弹的颜色
- redis - 由于redis是单线程的,那么我们的并发请求在访问redis的时候就变成了序列化请求。使用redis有什么意义?
- php - 未捕获的 PDOException:SQLSTATE [42S22]:未找到列:1054
- python-2.7 - 为什么 xlsxwriter 模块不像其他模块那样工作?
- android - 我想在 viewpager 中搜索和创建 listview 怎么可能
- java - Java Web,会话正在自动设置
- ruby-on-rails-5 - 单选按钮变成星星不起作用