Chinaunix

标题: 用RunTime的exec方法执行操作系统命令,为什么不支持*匹配 [打印本页]

作者: icesummit    时间: 2006-04-20 22:06
标题: 用RunTime的exec方法执行操作系统命令,为什么不支持*匹配
用getRuneTime().exec("rm -fr *.txt");不能删掉那些txt文件
但是用getRuneTime().exec("rm -fr aaa.txt");确可以成功。难道是它不支持wildcard?
作者: perryhg    时间: 2006-04-21 04:59
wildcard是被shell expand成为对应的内容了,如果你需要使用,写个shell脚本来调用吧,你用Runtime.exec()调用的结果shell会认为已经是expand过的内容,然后真的去寻找一个叫做*.txt的文件(当然这个文件不存在了)。
作者: icesummit    时间: 2006-04-21 09:34
多谢斑竹解释。
作者: jakieyoung    时间: 2006-04-28 14:28
标题: 我说一个更好的办法
更好的方法是
File[] files = dir.list(txtFileFilter);
for(File f:files)
f.delete();
当然我写的比较简单。具体的还得你来写了
像删除文件这样简单的工作,你再调用操作系统的命令
就太小题大作了。
作者: bravelc422    时间: 2006-04-28 14:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: icesummit    时间: 2006-04-28 22:41
标题: 回复 4楼 jakieyoung 的帖子
多谢回复。用操作系统命令的主要原因是可以用find找到满足要求的文件。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2