Java调用命令行递归删除文件夹
前几天写东西的时候需要删除指定目录下的所有文件,文件大概800M左右吧,用递归的方式删除感觉很慢,于是就用了命令行的方式删除,然后从Java中调用,目前就用过Linux和Windows其他的操作系统还没用过-- Linux下递归删除的命令是: rm -fr [Directory] Windows下递归删除的命令是: rmdir /S /Q [Directory] 知道了这两个命令就好办了,从Java中调用 Runtime run = Runtime.getRuntime(); run.exec([Command]); 这样一来就可以实现递归删除文件夹了,速度比用递归删除快,但是还存在个问题就是在什么情况下用Linux命令,在什么情况下用Windows命令,我是选择判断的文件分割符 if(File.separator.equals("/")){ //is Linux }else{ //is Windows } 这种做法纯属偷懒,如果开发用的Windows部署用Linux就会遇到问题,严禁的方式应该是通过获取到的操作系统类型来判断: Properties prop = System.getProperties(); String osname = prop.getProperty("os.name"); 这样就获取到了操作系统的类型,然后再根据类型判断该调用什么命令。