时间久了,电脑上总会保存一些网页文件和对应的文件夹,今天整理资料,觉得文件夹挺碍眼。想把它隐藏掉,之前的方法是打开dos用命令:‘attrib +h +s ’ 来隐藏,但太多的时候就重复劳作了。作为java程序员当然是写个java程序来解决。本来就是个很简单的程序,基本测试也通过了。但使用过程中还是发现了问题:
对于含有特殊符号的文件夹(如:«),java程序中获取的File对象转换为对应的字符串路径path时,这样的字符无法解析,一般都变成了‘?',导致Runtime.getRuntime().exec("attrib +h +s /""+path+"/"")执行后没有效果!
想了好多的办法,进行各种字符集的转码都无法使该字符正确显示在控制台。
但是如果程序中使用swing控件,将File.getName()显示在swing控件上(如jtextfield),特殊字符就可以正常显示。
如果将控件的text属性输出到控制台 还是无法正确显示字符。
各位有没有遇到过类似的问题,期待给我个解决办法。