Exception in thread "main" java.io.IOException: Cannot run program "del": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at AAA.main(AAA.java:39)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 4 more
13 个解决方案
#1
del不是一个exe,所以它不可以运行的
应该是
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
应该是
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
#2
上代码。
#3
del不是一个可执行文件,他是cmd的一个命令而已
用 cmd /c del 试试
用 cmd /c del 试试
#4
学习
#5
应该是这样的。
del是一个dos命令。而ipconfig应该是%PATH%中的一个可执行程序。
但是我觉得就算这样也不至于抛异常的。
#6
学习~~~~
#7
楼主,试试上面的
#8
del不是window的应用程序,编译的时候就通不过了.
Runtime.getRuntime().exec不能当作window下的dos来用,删除文件最好用io来操作.
Runtime.getRuntime().exec不能当作window下的dos来用,删除文件最好用io来操作.
#9
学习~~~~
#10
Runtime类
每一个java程序都有一个单一的Runtime类的实例。提供了应用程序与应用程序正在运行的环境之间的接口。
可以根据Runtime对象去获取虚拟机的内存。
Runtime a = Runtime.getRuntime();
System.out.println(a.freeMemory());
System.out.println(a.totalMemory());
Process类 是一个抽象类
Runtime a = Runtime.getRuntime();
try{
a.exec("notepad"); //exec是Runtime类的一个方法,会打开一个文本
a.exec("javac b.java"); //可以用来编译java文件
Process c =a.exec("java b"); //把a.exec设置为一个进程 执行b.class 子进程
InputStream d=c.getInputStream(); //获得执行结果b.class 执行结果的输出 getInputStream() 是process的方法
....
}catch(Exception e)
{ e.printStackTrace(); }
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
每一个java程序都有一个单一的Runtime类的实例。提供了应用程序与应用程序正在运行的环境之间的接口。
可以根据Runtime对象去获取虚拟机的内存。
Runtime a = Runtime.getRuntime();
System.out.println(a.freeMemory());
System.out.println(a.totalMemory());
Process类 是一个抽象类
Runtime a = Runtime.getRuntime();
try{
a.exec("notepad"); //exec是Runtime类的一个方法,会打开一个文本
a.exec("javac b.java"); //可以用来编译java文件
Process c =a.exec("java b"); //把a.exec设置为一个进程 执行b.class 子进程
InputStream d=c.getInputStream(); //获得执行结果b.class 执行结果的输出 getInputStream() 是process的方法
....
}catch(Exception e)
{ e.printStackTrace(); }
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
#11
这是我看孙鑫java视频 用手敲屏幕代码弄来的。。。。。
#12
同意
#13
先谢谢各位了...试了一下,是“cmd /c del c:\\1.txt”没错,意思就是说如果是可执行程序,并且在系统变量path里有配的话就可以直接写命令,如果不是可执行程序,比如cmd命令之类的,就要在前面加上cmd /c
我又试了一下,看来就是这样了...请大家原谅我“不求甚解”的态度...
总之谢谢各位了!!特别是10楼的“手敲屏幕代码”兄弟,太感谢了,我直接化杯具为洗具了...
我又试了一下,看来就是这样了...请大家原谅我“不求甚解”的态度...
总之谢谢各位了!!特别是10楼的“手敲屏幕代码”兄弟,太感谢了,我直接化杯具为洗具了...
#1
del不是一个exe,所以它不可以运行的
应该是
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
应该是
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
#2
上代码。
#3
del不是一个可执行文件,他是cmd的一个命令而已
用 cmd /c del 试试
用 cmd /c del 试试
#4
学习
#5
应该是这样的。
del是一个dos命令。而ipconfig应该是%PATH%中的一个可执行程序。
但是我觉得就算这样也不至于抛异常的。
#6
学习~~~~
#7
楼主,试试上面的
#8
del不是window的应用程序,编译的时候就通不过了.
Runtime.getRuntime().exec不能当作window下的dos来用,删除文件最好用io来操作.
Runtime.getRuntime().exec不能当作window下的dos来用,删除文件最好用io来操作.
#9
学习~~~~
#10
Runtime类
每一个java程序都有一个单一的Runtime类的实例。提供了应用程序与应用程序正在运行的环境之间的接口。
可以根据Runtime对象去获取虚拟机的内存。
Runtime a = Runtime.getRuntime();
System.out.println(a.freeMemory());
System.out.println(a.totalMemory());
Process类 是一个抽象类
Runtime a = Runtime.getRuntime();
try{
a.exec("notepad"); //exec是Runtime类的一个方法,会打开一个文本
a.exec("javac b.java"); //可以用来编译java文件
Process c =a.exec("java b"); //把a.exec设置为一个进程 执行b.class 子进程
InputStream d=c.getInputStream(); //获得执行结果b.class 执行结果的输出 getInputStream() 是process的方法
....
}catch(Exception e)
{ e.printStackTrace(); }
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
每一个java程序都有一个单一的Runtime类的实例。提供了应用程序与应用程序正在运行的环境之间的接口。
可以根据Runtime对象去获取虚拟机的内存。
Runtime a = Runtime.getRuntime();
System.out.println(a.freeMemory());
System.out.println(a.totalMemory());
Process类 是一个抽象类
Runtime a = Runtime.getRuntime();
try{
a.exec("notepad"); //exec是Runtime类的一个方法,会打开一个文本
a.exec("javac b.java"); //可以用来编译java文件
Process c =a.exec("java b"); //把a.exec设置为一个进程 执行b.class 子进程
InputStream d=c.getInputStream(); //获得执行结果b.class 执行结果的输出 getInputStream() 是process的方法
....
}catch(Exception e)
{ e.printStackTrace(); }
Process p = Runtime.getRuntime().exec("cmd /c del c:\\1.txt");
#11
这是我看孙鑫java视频 用手敲屏幕代码弄来的。。。。。
#12
同意
#13
先谢谢各位了...试了一下,是“cmd /c del c:\\1.txt”没错,意思就是说如果是可执行程序,并且在系统变量path里有配的话就可以直接写命令,如果不是可执行程序,比如cmd命令之类的,就要在前面加上cmd /c
我又试了一下,看来就是这样了...请大家原谅我“不求甚解”的态度...
总之谢谢各位了!!特别是10楼的“手敲屏幕代码”兄弟,太感谢了,我直接化杯具为洗具了...
我又试了一下,看来就是这样了...请大家原谅我“不求甚解”的态度...
总之谢谢各位了!!特别是10楼的“手敲屏幕代码”兄弟,太感谢了,我直接化杯具为洗具了...