本帖最后由 蓝迪 于 2012-8-29 14:56 编辑
- /*
- 用递归算法扫描文件夹里的可执行文件
- 然后用Runtim方法执行它
- */
- import java.io.*;
- class FileText
- {
- public static void main(String[] args) throws Exception
- {
- File f = new File("g:\\xuexi\\java1\\day20");//扫描day20文件夹
- method(f);
- }
- public static void method(File dir)throws Exception
- {
- File[] files = dir.listFiles();//创建数组接收返回的文件对象
- for (int x=0; x<files.length ; x++)
- {
- if (files[x].isDirectory())//如果返回的是文件夹,则继续递归
- method(files[x]);
- else
- if (files[x].canExecute())//如果返回的是文件,则判断文件是否可执行
- {
- String s = files[x].getName();//接收可执行文件的文件名
- System.out.println("s=="+s);
- Runtime r = Runtime.getRuntime();
- Process p = r.exec(s);
- Thread.sleep(4000);//让进程休息4秒
- p.destroy();//杀掉子进程
- }
- else
- System.out.println(files[x]);
- }
- }
- }
复制代码 看了毕老师的视频,然后自己做了这个练习
需求是:扫描指定文件夹里的文件,如果是文件夹则继续递归
如果是文件,则判断文件是否可执行
若可执行,则用Runtime类执行
我编译成功了,但是运行中间出现问题,到底是什么原因,我的思路和代码有问题吗
|