草庐IT

用于常见 javadoc 的 JavaDoc 解析器?

有什么东西可以用来解析JavaDoc,以便我可以在运行时通过标准Doclet接口(interface)对其进行操作吗?本质上,一个Doclet的反向操作.我知道不可能为每个Javadoc编写解析器(因为这可以是任意文档格式),但我很想知道标准Doclet是否有类似的东西。 最佳答案 Doclet已经是一个javadoc解析器。将Doclet视为SAXParser对您的方法的每次调用都将提供与提供给普通javadocdoclet的完全相同的数据。在源代码上运行您的子类Doclet,它将通过回调方法向您呈现文档。

java - NumberFormatException 给定一个包含小整数的输入字符串

我有一个字符串,我想从中解析一个整数,但找不到解决此运行时异常的方法。我知道它是为了在将parseNUMBERTYPE函数应用于定义不当的字符串时显示,并且代码期望数字所在的空格或字母可以触发它。但是,据我所知,我用作测试虚拟对象的字符串只是数字5。我看到了一些针对其他用户的NumberFormatException问题的建议,提倡在解析之前应用trim()函数,我已经尝试过但没有成功。我还尝试用简单的未存储值“5”替换我希望解析的字符串。这与程序似乎报告的相关变量的存储字符串值相同,但是当解析该变量失败并出现这篇文章的同名异常时,未存储的值似乎在其位置上运行得非常好。请注意,字符串变

java - 删除 XML 字符元素中重复的换行符/制表符/空格

testtesttest我希望我的XML解析器读取中的字符和:将换行符和制表符替换为空格,并将多个空格合二为一。结果,文本应该类似于“testtesttest”。如果节点包含XML编码字符:制表符( )、换行符( )或空格()-应保留它们。我正在尝试下面的代码,但它保留了重复的空格。dbf=DocumentBuilderFactory.newInstance();dbf.setIgnoringComments(true);dbf.setNamespaceAware(namespaceAware);db=dbf.newDocumentBuilder();doc=

java - 如何通过命令行参数覆盖属性文件值?

我有一个像这样的属性文件-hostName=machineA.domain.host.comemailFrom=tester@host.comemailTo=world@host.comemailCc=hello@host.com现在我正在从我的Java程序中读取上述属性文件-publicclassFileReaderTask{privatestaticStringhostName;privatestaticStringemailFrom;privatestaticStringemailTo;privatestaticStringemailCc;privatestaticfinalSt

java - 使用 SAX 解析具有未知数量递归的 XML 结构

我必须使用SAX解析器在JAVA中解析XML结构。问题在于该结构是递归的,递归次数未指定。这仍然不是什么大问题,问题是我无法利用XML命名空间功能,并且每个递归级别上的标记都是相同的。这是结构的一个例子。如您所见,有一个递归,最好是未定义数量的递归。现在我的问题是如何为每个递归提取所有数据并将其保存在HashMap中。例如。我可以定义一个ContentHandler对于Tags的发生并让它提取HashMap中的内容然后把它放回masterHashMap在主要内容处理程序中定义,但我不确定是否要这样做。如何在不使用命名空间的情况下提取和保存递归XML结构的内容?

c# - 如何用java或C#解析包含utf-8字符的pdf文件

我有一个pdf文件,其中包含utf-8字符(İ、ğ、ı和阿拉伯字母等)。如何解析这个文件?我使用itext和pdfBox,但我看到“çekti¤ik夛da”而不是“çektiğikağıda”。我该如何解决这个问题? 最佳答案 由于尚未提供示例,我自己创建了阿拉伯语测试数据(好吧,实际上我从itext-questions邮件列表上的一些帖子中借用了用于创建测试数据的代码)和一个解析这些数据的测试:packageitext.parsing;importjava.io.File;importjava.io.FileOutputStr

java - 在 Java 中分离协议(protocol)解析器和处理程序

我正在使用一个简单的二进制协议(protocol)。每个数据包由10个字节组成。第一个字节指定数据包类型。使用了很多(~50)种数据包类型。我想为此协议(protocol)编写一个独立于数据包处理的通用解析器。所以解析器应该检测数据包类型并将数据放入适当的数据包类的实例中,该类包含协议(protocol)数据。例如,考虑以下类:当解析器检测到数据包类型1-->newType1()并读取原始字节并设置温度和湿度。对于数据包类型2和所有其他数据包类型也是如此。classPacket{byte[]raw;}classType1extendsPacket{inttemperature;inth

java - 解析/扫描/分词 "raw XML"

我有一个应用程序,我需要解析或标记XML并保留原始文本(例如,不解析实体、不转换属性中的空格、保持属性顺序等)在Java程序中。我今天花了几个小时尝试使用StAX、SAX、XSLT、TagSoup等,然后才意识到它们都没有这样做。我不能花更多的时间来解决这个问题,手动解析文本似乎非常重要。是否有任何Java库可以帮助我标记XML?编辑:我为什么要这样做?--我有一个很大的XML文件,我想以编程方式进行少量本地化更改,需要对其进行审查。能够使用diff工具是非常有值(value)的。如果解析器/过滤器规范化了XML,那么我在diff工具中看到的只是“红色墨水”。首先生成XML的应用程序不

java - XStream:在我解析时折叠 XML 层次结构

我有一个XML文档(由Adob​​eXFA表单生成),其中包含如下数据:由于这个文件是在别处定义的,我不能随意更改我得到的XML格式。在我的Java代码中,我创建了一个包含标题、开始和结束日期的Position类。我的问题是,当我使用XStream解析文件时,它需要一个PositionBorder类来保存标题和日期。我想基本上忽略边框并将所有字段放入Position类中。我真正想做的是使用类似convertAnother方法的方法来转换位置元素的子元素。我试图这样做但失败了,因为我的PositionConverter被调用以获得PositionBorder(当我调用convertAno

java - 将数据从文件加载到 Vector 结构

我正在尝试解析固定宽度格式的文件,从中提取点的x、y值,然后将它们存储在Vector内的int[]数组中。文本文件如下所示:000600150125004702500131这是代码:Vectorvc=newVector();try{BufferedReaderfile=newBufferedReader(newFileReader("myfile.txt"));Strings;int[]vec=newint[2];while((s=file.readLine())!=null){vec[0]=Integer.parseInt(s.substring(0,4).trim());vec[1