java linux new file_解决linux下java的new File()中文路径不能找到文件问题

解决linux下java的new File()中文路径不能找到文件问题

(2013-02-04 10:39:29)

标签:

it

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

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值