请问怎么使程序进入别的文件夹下运行呢?

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:39:17
比如我的程序在的d:\test目录下,我想使该程序运行在e:\下,但又不移动程序,应该怎么做呢?也就是说怎么样使程序先进入到指定目录下。

例如在程序里用来类似dos里的dir命令,显示的是别的文件夹的文件列表。

请问程序应该怎么写呢
yangyawei2008,谢谢你的回答,但是你那个程序只能显示程序所在目录的文件,比如我把你那个程序放在c盘,运行那个程序想显示d盘目录下的文件夹,那请问应该怎么修改呢?或者这样说吧,我想让程序先进入预定的目录然后再运行程序的主体。

----------问题已经解决,感谢各位的回答----------
解决方法:看了java api,发现Runtime.getRuntime().exec()的另外一个方法。

File filePath = new File("e:\\");
Process process = Runtime.getRuntime().exec(cmd, null, filePath);

import java.io.InputStreamReader;
import java.io.LineNumberReader;

public class Test {
// private static String cmd = "ls";// linux os cmd
private static String[] cmd = new String[]{"cmd.exe","/c","dir"};

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println("cmd " + cmd);
UseOsCmd(cmd);
} catch (Exception e) {
e.printStackTrace();
}
}

public static void UseOsCmd(String[] cmd) throws Exception {

try

{
Process process = Runtime.getRuntime().exec(cmd);
// int i = process.waitFor();
// System.out.println("forward:"+i);
InputStreamReader ir = new InputStreamReader(process
.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String l