小编Bal*_*ala的帖子

使用java.util.zip.ZipOutputStream时zip文件中的目录

假设我有一个文件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 directory zip

29
推荐指数
5
解决办法
7万
查看次数

Common Lisp中的类内省

Java的java.lang.Class类有一个getDeclaredFields方法,它将返回给定类中的所有字段.Common Lisp有类似的东西吗?在阅读了成功的Lisp第10章(http://www.psg.com/~dlamkins/sl/chapter10.html)中的说明之后,我遇到了一些有用的函数,比如describe,inspect和symbol-plist .但是他们都不会像getDeclaredFields那样做.

lisp java reflection introspection common-lisp

11
推荐指数
2
解决办法
1431
查看次数

在XOM中解析XHTML文档时出现DTD下载错误

我试图解析一个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?

java dtd xom

6
推荐指数
2
解决办法
5296
查看次数

如何在ruby中使用反引号开始连续输出子进程

我有一个ruby应用程序,使用反引号执行ant作为子进程.这没有任何问题.当我执行put时ant,ruby等待子进程,ant,完全完成,然后将输出打印到stdout.如何让ruby连续打印子进程的输出?

ruby subprocess stdout

6
推荐指数
1
解决办法
1664
查看次数

使用xmlbeans绑定cxf wsdl2java

我开始使用apache CXF 2.1.5xmlbeans来生成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.任何指针,代码样本都是受欢迎的.

java cxf wsdl2java xmlbeans

5
推荐指数
1
解决办法
5567
查看次数

在将列表元素传递给hash-map时,var clojure.core/unquote-splicing是未绑定的错误

我试图从交错列表创建一个映射并运行错误.这是我在做的事情:

(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)

如何将列表元素传递给哈希映射?

clojure

1
推荐指数
1
解决办法
784
查看次数