假设我有一个文件t.txt,一个目录t和另一个文件t/t2.txt.如果我使用linux zip实用程序"zip -r t.zip t.txt t",我会得到一个zip文件,其中包含以下条目(unzip -l t.zip):
Archive: t.zip
Length Date Time Name
-------- ---- ---- ----
9 04-11-09 09:11 t.txt
0 04-11-09 09:12 t/
15 04-11-09 09:12 t/t2.txt
-------- -------
24 3 files
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用java.util.zip.ZipOutputStream复制该行为并为该目录创建zip条目,则java会抛出异常.它只能处理文件.我可以在zip文件中创建/ t2.txt条目并添加使用t2.txt文件内容但我无法创建目录.这是为什么?
Java的java.lang.Class类有一个getDeclaredFields方法,它将返回给定类中的所有字段.Common Lisp有类似的东西吗?在阅读了成功的Lisp第10章(http://www.psg.com/~dlamkins/sl/chapter10.html)中的说明之后,我遇到了一些有用的函数,比如describe,inspect和symbol-plist .但是他们都不会像getDeclaredFields那样做.
我试图解析一个HTML文档与声明的doctype使用过渡dtd,如下所示:
<!DOCTYPE html PUBLIC" - // W3C // DTD XHTML 1.0 Transitional // EN"" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
当我在文档上执行Builder.build时,我得到以下异常:
java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at nu.xom.Builder.build(Builder.java:1127)
at nu.xom.Builder.build(Builder.java:1019)
Run Code Online (Sandbox Code Playgroud)
如果我删除了doc类型声明,它解析就好了.我可以从我的浏览器成功下载dtd,它告诉我url是有效的.我不想删除doc类型声明.有没有办法告诉建设者不要下载dtd或提供备用dtd?
我有一个ruby应用程序,使用反引号执行ant作为子进程.这没有任何问题.当我执行put时ant,ruby等待子进程,ant,完全完成,然后将输出打印到stdout.如何让ruby连续打印子进程的输出?
我开始使用apache CXF 2.1.5和xmlbeans来生成Web服务客户端.FAQ页面显示了如何使用jaxb绑定来java.util.Date绑定xsd:dateTime:
<jaxws:bindings wsdlLocation="YOUR_WSDL_LOCATION"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='THE_NAMESPACE_OF_YOUR_SCHEMA']">
<jxb:globalBindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:javaType name="java.util.Date" xmlType="xs:dateTime"
parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime"
printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/>
</jxb:globalBindings>
</jaxws:bindings>
</jaxws:bindings>
Run Code Online (Sandbox Code Playgroud)
我想使用xmlBeans绑定,但找不到合适的示例.我理解如何使用xmlbeans将xml文件映射到java对象,但我找不到要使用的语法cxf.任何指针,代码样本都是受欢迎的.
我试图从交错列表创建一个映射并运行错误.这是我在做的事情:
(interleave ['a 'b] [1 2])
Run Code Online (Sandbox Code Playgroud)
给出列表(a 1 b 2).
如果我想从一堆元素创建一个哈希映射,我可以做到
(hash-map 'a 1 'b 2)
Run Code Online (Sandbox Code Playgroud)
将两者结合在一起,
(hash-map ~@(interleave ['a 'b] [1 2]))
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
java.lang.IllegalStateException: Var clojure.core/unquote-splicing is unbound. (repl-1:2)
Run Code Online (Sandbox Code Playgroud)
如何将列表元素传递给哈希映射?
java ×4
clojure ×1
common-lisp ×1
cxf ×1
directory ×1
dtd ×1
lisp ×1
reflection ×1
ruby ×1
stdout ×1
subprocess ×1
wsdl2java ×1
xmlbeans ×1
xom ×1
zip ×1