有一个我正在通过套接字的信封。像
<task>
<doc>
This is the contents of a file
</doc>
</task>
使用像“<doc>(.*?)</doc>
”,Pattern.DOTALL这样的模式,可以很好地处理文本文档
但是把文字的内容放在那里,不能把它拿出来。
有任何想法吗?
吉姆
答案 0 :(得分:1)
在base64中对Word Doc进行编码,然后将其放入xml包装器中。
Apache commons提供了一个不错的编码器/解码器:http://commons.apache.org/codec/
答案 1 :(得分:0)
您提到您正在通过套接字发送数据,因此您可以随意使用您想要的任何协议(即使您是第一个!)。我想我会做这样的事情:
通过套接字发送以下内容:
command : 1 byte (command, enum, let '1' signifiy add_task)
header_size : 4 byte (1 int, size of header. Header is a XML snippet of meta data like doc_name)
doc_size : 4 byte (1 int, size of raw document )
header_data : header_size bytes of data, interpret as an xml string
doc_data : doc_size bytes, interpret as your raw data type
当然,有许多更高级别的协议可以处理这个以及更多。至少这样你就可以避免奇怪的转义序列,base64,正则表达式以及其他会让你陷入麻烦的部分。