找不到源文件了, 只好把.properties反转换成中文了
原理就是把.properties中的所有"\uxxxx"形式的转成对应的中文.
String r = FileUtils.readFileToString(new File("d:/aa.TXT"), "utf-8");
Pattern p = Pattern.compile("\\\\u([a-zA-Z0-9]{4})");
String t = "";
Matcher m = p.matcher(r);
while(m.find())
{
t = m.group(1);
r = r.replaceFirst("\\\\u([a-zA-Z0-9]{4})", String.valueOf(Character.toChars(Integer.parseInt(t, 16))));
}
System.out.println(r);
那个parseInt中的参数16表示t是16进制的字符串.
感觉还比较简洁的说~~~
P.S. FileUtils是jakarta commons.io里的
--
It's Hard to Define, But I Know it When I See it…
2007-06-28
2007-06-14
httpclient提交中文的问题.
提交的时候老出错, 把我的中文全给搞成问号, 后来看服务器上有个encodingfilter, 貌似只接收utf-8的.
本来想的是看看httpclient里面哪里编码不对了, 改成utf-8,如此的思路.
后来, 发现给http head加个meta就成了:
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
真的是不能想太复杂鸟...
--
It's Hard to Define, But I Know it When I See it…
本来想的是看看httpclient里面哪里编码不对了, 改成utf-8,如此的思路.
后来, 发现给http head加个meta就成了:
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
真的是不能想太复杂鸟...
--
It's Hard to Define, But I Know it When I See it…
2007-06-07
其实, 除了actionForm还有更简便的方式的~
Spring的这个databinder真是好用:
FriendLink bean = new FriendLink();
ServletRequestDataBinder binder = new ServletRequestDataBinder(bean, "link");
CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("yyyy-M-d"), true);
binder.registerCustomEditor(Date.class, editor);
binder.bind(request);
这样就自动给bean注入值了, 而且它已经自动拥有了处理multipart的能力, 真是不错. 只是没有处理日期格式的能力, 但是象上面的代码就可以了.
顺便贴几个链接:
link 用spring做项目时的一些设计上的技巧.
link ServletRequestDataBinder的官方文档.
link 处理日期格式的方法就是从他这抄袭来的, 呵呵.
--
It's Hard to Define, But I Know it When I See it…
FriendLink bean = new FriendLink();
ServletRequestDataBinder binder = new ServletRequestDataBinder(bean, "link");
CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("yyyy-M-d"), true);
binder.registerCustomEditor(Date.class, editor);
binder.bind(request);
这样就自动给bean注入值了, 而且它已经自动拥有了处理multipart的能力, 真是不错. 只是没有处理日期格式的能力, 但是象上面的代码就可以了.
顺便贴几个链接:
link 用spring做项目时的一些设计上的技巧.
link ServletRequestDataBinder的官方文档.
link 处理日期格式的方法就是从他这抄袭来的, 呵呵.
--
It's Hard to Define, But I Know it When I See it…
2007-05-13
补: autoboxing
网上搜NPE,发现了别人跟我碰到同样的问题.这些人还建议不要用autoboxing. 有句倒说的很到位:The root cause of the NPE-related weirdness is that Java doesn't distinguish between pointers and "pointers that can be null". 这也应该是autoboxing问题的根源。
P.S. NPE=NullPointerException(看来这个异常很常见呢)
P.S. NPE=NullPointerException(看来这个异常很常见呢)
2007-03-25
java.sql.SQLException: java.lang.NegativeArraySizeException
有段java程序, 通过jdbc调用mysql的
在执行分页查询的时候, 如果是这么写:
select * from orders limit 1, 30;//第一页的30条
没有任何问题.但是把它放到存储过程里(参见前一篇文章), 就会出那个exception,只要是页不满的情况都会报exception.但是有个特别的现象, 如果你把orders表清空, 然后执行java, 不会报错, 只有当行数大于某个值并且页不满才会报Exception.
非常不明白....
相对详细的代码在这:link
在执行分页查询的时候, 如果是这么写:
select * from orders limit 1, 30;//第一页的30条
没有任何问题.但是把它放到存储过程里(参见前一篇文章), 就会出那个exception,只要是页不满的情况都会报exception.但是有个特别的现象, 如果你把orders表清空, 然后执行java, 不会报错, 只有当行数大于某个值并且页不满才会报Exception.
非常不明白....
相对详细的代码在这:link
2007-03-24
myeclipse差劲
除了它集成的那几个Eclipse Foundation的项目外, 基本上都很差.
特别是UML, 当初看着感觉还不错, 用着问题就出来了: 不能识别泛型, 不能导入类, 删除类/关系删不干净, 生成的代码错误百出.最要命的是它还搞罢工, 本来就是serialize的object, 出点问题就死翘翘了.慎用....非常不稳定
特别是UML, 当初看着感觉还不错, 用着问题就出来了: 不能识别泛型, 不能导入类, 删除类/关系删不干净, 生成的代码错误百出.最要命的是它还搞罢工, 本来就是serialize的object, 出点问题就死翘翘了.慎用....非常不稳定
mysql的分页存储过程
一般的分页面可以这样直接写在sql里面:
表示每页显示20个, 第3页.这种写法不能通过PreparedStatement执行, 因为它是编译过的, 存储过程同理.所以这样写不会成功:
应该算是mysql的bug.
有个折衷的办法:
link, link
select * from test limit 3, 20;
表示每页显示20个, 第3页.这种写法不能通过PreparedStatement执行, 因为它是编译过的, 存储过程同理.所以这样写不会成功:
create procedure pager (in pno int, in psize int)
begin
declare pp int default 0;
set pp = (pno - 1) * psize;
select * from pager limit pp, psize;
end
应该算是mysql的bug.
有个折衷的办法:
create procedure pager (in _pno int, in _psize int)
begin
prepare stmt from "select * from test limit ?,?";
set @pno = (_pno - 1) * _psize;
set @psize = _psize;
execute stmt using @pno, @psize;
end
link, link
Subscribe to:
Posts (Atom)