验证失败后移动文件 (Java)

2024-03-02

我们正在验证 XML 文件,根据验证结果,我们必须将文件移动到不同的文件夹中。

当 XML 有效时,验证器会返回一个值,我们可以毫无问题地移动文件。当 XML 根据架构无效时,也会发生同样的情况。

然而,如果 XML 格式不正确,验证器会抛出异常,并且当我们尝试移动文件时,它会失败。我们相信内存中仍然有一个句柄来保存该文件。我们尝试在移动文件之前放置 System.gc() 并解决问题,但我们不能System.gc()作为解决方案。

代码如下所示。我们有一个 File 对象,从中创建一个 StreamSource。然后将 StreamSource 传递给验证器。当 XML 格式不正确时,它会抛出 SAXException。在异常处理中,我们使用 .renameTo() 方法来移动文件。

sc = new StreamSource(xmlFile);
validator.validate(sc);

在我们尝试的捕获中

validator.reset();
validator=null;
sc=null;

但仍然.renameTo()无法移动文件。如果我们把System.gc()在捕捉中,移动就会成功。

有人可以告诉我如何在不使用的情况下对此进行排序吗System.gc()?

我们使用 JAXP 和 saxon-9.1.0.8 作为解析器。

非常感谢


尝试创建一个FileInputStream并将其传递给StreamSource然后关闭FileInputStream当你完成时。通过传入一个File您失去了如何/何时关闭文件句柄的控制。

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

验证失败后移动文件 (Java) 的相关文章

  • 使用 JDBC 获取 Oracle 11g 的最后插入 ID

    我是使用 Oracle 的新手 所以我将放弃之前已经回答过的内容这个问题 https stackoverflow com questions 3131064 get id of last inserted record in oracle
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • Logback:SizeAndTimeBasedRollingPolicy 不遵守totalSizeCap

    我正在尝试以一种方式管理我的日志记录 一旦达到总累积大小限制或达到最大历史记录限制 我最旧的存档日志文件就会被删除 当使用SizeAndTimeBasedRollingPolicy在 Logback 1 1 7 中 滚动文件追加器将继续创建
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 我们如何测试包私有类?

    我正在看书Effective Java in Item 13 Minimize the accessibility of classes and members 它提到 为了方便测试 您可能想让类 接口或成员更易于访问 这在某种程度上是好的
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级

随机推荐

  • 有没有办法阻止 SqlPackage.exe 在部署脚本中设置默认文件组?

    我们正在使用 Sql Server 数据库项目通过 SqlPackage exe 从 DacPac 创建部署脚本 我们在不同的环境中设置了不同的 SQL Server 文件组 部署时 我们排除文件组 因为我们希望在默认文件组中创建对象 在数
  • 使用 Numba 处理 pandas DataFrame 时间序列的有效方法

    我有一个包含 1 500 000 行的 DataFrame 这是我从 QuantQuote com 购买的一分钟级别的股市数据 开盘价 最高价 最低价 收盘价 交易量 我正在尝试对股票市场交易策略进行一些自制的回测 直接使用 python
  • Json和Xml序列化,哪个性能更好?

    我必须在文件中存储一些配置信息 在 C 代码中 配置数据按类表示 在文件中我将以 json 或 xml 格式保存此类 那么 序列化json和xml哪个性能最好呢 好吧 我没有猜测 而是有了答案 这是测试程序 class Program st
  • 适合初学者的 SAML 简单示例

    我是 SAML v2 0 技术的初学者 我获得了理论知识 但我在 Google 上没有找到任何示例 任何人都可以为我提供简单的 SAML for v2 0 的分步示例 到目前为止我已经完成了理论部分 即它支持单点登录 and我也了解服务提供
  • 如何让 Wicket 7 与 Java 8 中的 java.time 配合使用?

    我有很多 bean 并且都使用 LocalDate 和 LocalDateTime Wicket 中的 DateTextField 和所有其他小部件 如 DatePicker 仅适用于 java util Date 有什么办法可以injec
  • 从字符串列表中找到与给定字符串匹配的最佳子集

    我有一根绳子 s mouse 和一个字符串列表 sub strings m o se e 我需要找出与 s 匹配的列表的 sub strings 的最佳和最短匹配子集是什么 做这个的最好方式是什么 理想的结果是 m o se 因为它们一起拼
  • 使用javascript检查用户是否是第一次访问

    我正在尝试构建一个系统 如果用户第一次登陆某个页面 则不会发生任何事情 但如果同一用户再次访问 则该页面不应加载 而是应该转到不同的 URL function session if document cookie indexOf visit
  • 从文本文件中删除前 N 个字节

    是否有任何函数调用或简单的方法可以从 golang 中的文本文件中删除前 N 个字节 假设该文件被各种 go 例程有争议地附加 同时我想删除文件的前 N 个字节 你需要做f Seek要跳过第一个字节并进行常规读取 请参见示例 package
  • 如何获得 mallet 中某个主题的概率分布?

    使用木槌 我可以获得特定数量的主题及其单词 如何确保主题词符合概率分布 即总和为一 例如 如果我按如下方式运行它 如何使用 mallet 给出的输出来确保主题 0 的主题词的概率加起来为 1 mallet train topics inpu
  • 在Java中使用线程同时执行多个方法[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 就我而言 我有三个不同类别的三种方法
  • 在hibernate标准中使用mysql“按情况排序”

    我正在使用 Hibernate 4 3 1 Final Mysql 5 5 并且我想在某些连接实体上使用 按案例排序 的顺序逻辑 我希望实现的目标的纯 sql 表示如下 select adv id adv published date fr
  • 如何使用 jQuery 从 检索值?

    我必须隐藏输入字段 例如
  • 通过 sql 表中的 100,000 条记录进行通配符搜索的最佳优化技术是什么

    我正在开发 ASP NET MVC 应用程序 该应用程序有 200 个用户使用 这些 用户不断地 每 5 分钟 从 100 000 个项目的列表中搜索一个项目 该列表每个月都会增加 1 2 此 100 000 个项目的列表存储在 SQL S
  • ASP.NET Core AuthorizationHandler 未被调用

    我正在尝试添加一些基于自定义角色的authorisation 但我无法 将启动配置为调用我的AuthorizationHandler 我在GitHub上找到了一些相关信息 here https github com dotnet aspne
  • 我应该如何在这个 2d Java 游戏中实现跳跃/重力/下落

    所以这是我的Player类 我想在空格键上跳转的对象 我只是不知道从哪里开始 我可以在互联网上阅读与我相关的任何好的资源吗 任何帮助都很棒 谢谢 package com zetcode import java awt Color impor
  • 填充与有边距的子项

    让我们首先说我理解盒子模型 在我作为开发人员的短暂时间里 我一直试图非常严格地遵循语义 html 并使用响应式设计实践 我最近在一家新公司找到了一份初级开发人员的工作 而我的先生则坚决反对填充 就像他无论如何都不希望它被使用一样 他希望我在
  • 使用 googletest 进行基准测试?

    背景 如果不感兴趣 请跳到下面的问题 我有一个运行三种状态的模拟器 单线程启动 I O 正常 多线程内存中 CPU 限制模拟阶段 I O 不正常 后模拟 后连接单线程阶段 I O 正常 有没有搞错 在标准测试期间 CPU 使用率从100 降
  • 地图上的条形图

    我正在尝试在地图上绘制垂直条形图 我在网上查看了示例 但不知何故无法做到 我的数据目前采用以下格式 University Count Category lat long 这是我尝试执行的代码 library ggplot2 library
  • 我的环境变量是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想在 bash 中找到我的环境变量 它们存储在某个地方吗 我不确定这是否是您想要的 但请尝试printenv这将显示您所有的环境变量 关于它们的存储
  • 验证失败后移动文件 (Java)

    我们正在验证 XML 文件 根据验证结果 我们必须将文件移动到不同的文件夹中 当 XML 有效时 验证器会返回一个值 我们可以毫无问题地移动文件 当 XML 根据架构无效时 也会发生同样的情况 然而 如果 XML 格式不正确 验证器会抛出异