当前位置: 代码迷 >> J2EE >> java怎么调用linux下的类似cmd命令,多谢
  详细解决方案

java怎么调用linux下的类似cmd命令,多谢

热度:162   发布时间:2016-04-22 03:15:00.0
java如何调用linux下的类似cmd命令,谢谢
我在windows下写了一个.bat批处理文件,文件内容:
exp system/manager1@db tables=T_YHXX grants=y file=d:\e.dmp
imp system/ff@dddd tables=T_YHXX grants=y file=d:\e.dmp
exit
就是导入导出,java是这样调用的:
public static void main(String[] args){
try {
String command = "cmd.exe /C start c:\\a.bat";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
}
}
请问要是在linux下,有没有对应的cmd的方法,能让它自动执行的语句,sh行不行?请给一段实例,谢谢

------解决方案--------------------
Java code
    public void startup() {        try {            Process process = Runtime.getRuntime().exec("sh startup.sh &");            InputStream inputStream = process.getInputStream();            byte[] bs = new byte[1024];            inputStream.read(bs);            inputStream.close();        } catch (IOException e) {            log.error(e.getMessage());        }    }
------解决方案--------------------
引用楼主 likai22 的帖子:
我在windows下写了一个.bat批处理文件,文件内容:
exp system/manager1@db tables=T_YHXX grants=y file=d:\e.dmp
imp system/ff@dddd tables=T_YHXX grants=y file=d:\e.dmp
exit
就是导入导出,java是这样调用的:
public static void main(String[] args){
try {
String command = "cmd.exe /C start c:\\a.bat";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) { …

------解决方案--------------------
貌似楼主需要一个在Linu下面的“.dat”文件“.sh”
------解决方案--------------------
个人认为:不用这么麻烦吧!直接调用你目录下的sh不就ok拉!
Runtime.getRuntime().exec("startup.sh",null,new File("你的sh所在目录"));
就可以执行目录所在的sh!
------解决方案--------------------
跟bat差不多,唯一不同的是在引用包与包之间不是分号隔开,是冒号
例:
java -classpath java -classpath ../lib/log4j-1.2.8.jar:../lib/tools.jar:../lib/app.jar cn.test.Test
------解决方案--------------------
探讨
谢谢各位,请问那个sh文件怎么写?
  相关解决方案