linux与windows下的.(点)分隔符操作分隔符操作——获得文件名而不获得扩展名
只能说linux和windows可真的是一对冤家阿
今天在对一个文件名进行分割的时候出现了分割失败
比如一个文件名 1.txt,我只想获得前面的部分,而扩展名为不需要获得,就是一个简单的字符串分割
代码如下
File dir = new File(pathfilenew); File[] list = dir.listFiles(); File file = list[list.length-1]; String string = (Integer.parseInt(file.getName().split("/.")[0])+1) +".txt";失败信息如下
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0其意思就是说,数据越界!
这是一个奇怪的问题,当我们不知道linux和windows的区别的时候很难下手
就是说这些代码在windows下运行是完全可行的
但是在liunx下就会错误,因为在split里面的参数应该是 \\. 而不是 /. 了
在linux和windows下,他们的正斜杠与反斜杠是相反的,所以他们在转义某些符号的时候也是反着的
当然还有其他在分割时需要转义的符号,也应该和这个类似的
如对符号 | 的转义等
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情