1、首先说下linux下的文件分隔符问题,win下是\,如c:\abc\efg.txt这样可以,但linux下都是/,如/usr/local/abc.txt。如果路径不对,也会找不到文件!
2、如果路径中带中文的文件夹,或名字,用new File(url);用函数file.exists()会返回false,刚开始我还以为我的路径要转编码,于是试了各种转编码,iso-8859-1,utf-8,gbk,gb2312。。。都转了,都没用。我代码是在win上编译的,在linux下运行的,发现在win下用System.getProperty("file.encoding")得到的是gbk,但在linux下是iso-8859-1。在代码中转编码看来是没用的了,于是想到改操作系统的文件系统编码,于是:
vi /etc/sysconfig/i18n文件,改为LANG="zh_CN.GBK",我试了,改为utf-8也没用,中文乱码,只有改为gbk,改完后再不重启的情况下,使配置生效:source /etc/sysconfig/i18n,结果就可以了,可以正常操作了!
其实这个操作都是临时的,编码也只是零时改了,我用SecureCRT工具,退出会话,再进,编码又回到以前去了,,重启了,感觉好像也没效果,于是,没办法, vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
这次感觉不要重启就可以了,编码正常改了,为gbk
http://blog.sina.com.cn/s/blog_6f7d179e0101897j.html