java - java中的CMD.exe命令没有终止

标签 java cmd terminate

我正在尝试使用 cmd.exe 在特定目录中搜​​索文件,然后在 java 程序中显示路径并将其写入文件。问题是进程永远不会终止。

这是我的代码:

String[] str = new String[] { "cmd.exe ", "cd c:\\",
                        " dir /b /s documents", "2>&1" };

            Runtime rt = Runtime.getRuntime();
            try{

                Process p = rt.exec(str);
                InputStream is =p.getInputStream();
                InputStreamReader in = new InputStreamReader(is);


                StringBuffer sb = new StringBuffer();
                BufferedReader buff = new BufferedReader(in);
                String line = buff.readLine();
                while( line != null )
                {
                    sb.append(line + "\n");
                    line = buff.readLine();
                }
                System.out.println( sb );
                File f = new File("test.txt");
                FileOutputStream fos = new FileOutputStream(f);
                fos.write(sb.toString().getBytes());
                fos.close();

            }catch( Exception ex )
            {
                ex.printStackTrace();
            }

最佳答案

请试试

cmd /c

而不是简单地

cmd

Reference

关于java - java中的CMD.exe命令没有终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2200705/

相关文章:

windows - 用于替换多个文件中特定字符串的批处理脚本

c - 正确的多线程程序终止。 C

java - ThreadPoolExecutor 处理 Grails 中的高内存任务?

windows - 使用cmd在windows中设置环境变量

mysql - 我试图通过输入 : mysql -u root -p 从命令行访问我的 mysql 服务器

java - 如何知道我的程序是否正常终止?

java - 仅当我单击终止时才从 java 中的 eclipse 执行 .jar

Java - 如何处理 OutOfMemoryError?

java - 无法解析变量。安卓正则表达式

java - Tomcat 是否实现或运行 Java Servlet 和 JavaServer Pages (JSP) 规范?