我想编写一个Java程序来删除我的主目录下的〜12个目录或文件。我能够做到这一点通过使用如何从Java运行Linux“cd”命令?
Process proc = Runtime.getRuntime().exec("rm -rf *path*")
但我必须运行此命令12次或我可以保持它在循环。我真正想要的是在我的主目录中有一个文件,其中包含要删除的所有目录和文件的名称。我的Java程序应该进入主目录,读取文件并删除所有指定的文件。
我被困在第一步 - 我无法cd到主目录。请让我知道我该怎么做到这一点。
非常感谢您的回复。
但是,在这里我并不是真的想使用Java util类,而是想学习一种使用它可以在我的Java类中运行Linux命令的方法。作为部署实习生,每次在为客户部署新环境之前都必须重置环境。为此,我反复使用一些基本的Linux命令。我可以编写一个shell脚本来执行此操作,但是现在我想编写一个Java类,在其中可以放入所有这些Linux命令并从一个类运行。
,我用的命令是:
- 杀死它们由管理员才开始所有Java进程 - 为了这个,我需要使用多个Linux与“管”命令
- 删除所有12目录/文件从主目录
- 停止一些服务(如siebel等) - 为此我需要去特定的目录下运行./shutdown.sh或./stop_ns等
- 运行一些数据库脚本 - 重置数据库模式
- 再次启动服务 - 同步骤,除了这一次,我需要运行./start_ns等
我真的很感激,如果你可以让我知道 一个。如何使用Java代码 b导航到目录中。如何使用Java代码使用管道运行多个Linux命令
任何你不使用['File.delete']的原因(http://download.oracle.com/javase/6/ docs/api/java/io/File.html#delete())而不是脱壳? (你应该) –
请看看我编辑的帖子。我提到了我需要做的事情。 – Jodi
Jodi,我建议或者a)编写一个shell脚本来做到这一点(我知道你说你不想,为什么?),应该很容易做到。 2)编写一个java程序来做到这一点在java中,作为[Jon Skeet](http://stackoverflow.com/a/7715879/1075247)sugests。 *很少*你需要从一个jar中运行一个shell命令,除非它们是一个预先编写的shell脚本的一部分,它是作为一个更大的java程序的一部分运行的(否则,只需编写一个shell脚本!)。那么,为什么你从.jar运行shell命令呢? – Pureferret