我正在通过TCP连接(而不是HTTP)阅读和编写XML作为我正在开发的Web服务的一部分,我想知道是否有一种更"弹性化"的方式(甚至是其他想法)来实现我的目标尝试下面:
InputStream is = null;
OutputStream os = null;
Socket s = null;
try {
s = new Socket(address, portNo);
os = s.getOutputStream();
os.write(msg.getBytes());
os.flush();
is = s.getInputStream();
String xml = IOUtils.toString(is);
return xml;
} finally {
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(is);
if (s != null) s.close();
}
Run Code Online (Sandbox Code Playgroud)
注意,我无法控制服务器,因此我认为我不能使用Spring远程处理,但是想知道这是否可以改进,类似于spring的JdbcTemplates.
编辑:
注意,只是为了澄清IOUtils是Apache commons-io ...
我有一个shell脚本,在第一行中我要求用户输入他们希望脚本运行的分钟数:
#!/usr/bin/ksh
echo "How long do you want the script to run for in minutes?:\c"
read scriptduration
loopcnt=0
interval=1
date2=$(date +%H:%M%S)
(( intervalsec = $interval * 1 ))
totalmin=${1:-$scriptduration}
(( loopmax = ${totalmin} * 60 ))
ofile=/home2/s499929/test.log
echo "$date2 total runtime is $totalmin minutes at 2 sec intervals"
while(( $loopmax > $loopcnt ))
do
date1=$(date +%H:%M:%S)
pid=`/usr/local/bin/lsof | grep 16752 | grep LISTEN |awk '{print $2}'` > /dev/null 2>&1
count=$(netstat -an|grep 16752|grep ESTABLISHED|wc -l| sed "s/ //g")
process=$(ps -ef | …Run Code Online (Sandbox Code Playgroud) 由于我的前任错误(MySQL)数据库我想使用包含很多HTML实体(例如,€而不是€).
由于数据库应该包含原始数据(数据库不应该与HTML有任何关系)我想从数据库中删除它们并将其存储在正确的UTF8中,因此配置就是这样.
什么是解决这个问题的好方法?我唯一能想到的是编写一个获取所有数据的PHP脚本,通过html_entity_decode()运行它并将其写回.它是可行的,因为它是一次性操作,而DB只有大约100MB,但它仍然不是最佳的.
有任何想法吗?