String makeDir = "md " + dirName
Runtime.getRuntime().exec(makeDir)
报错 CreateProcess error=2, ????>>u 1/2 ??
解决办法:
String makeDir = “cmd.exe /C md ” + dirN
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5869次
排名:千里之外
原创:16篇
转载:18篇
(8)(8)(2)(5)(1)(6)(6)为什么createprocess failed with error 2系统找不到指定文件
为什么createprocess failed with error 2系统找不到指定文件
09-10-31 &匿名提问
首先明确kernel library 是一个什么样的软件。 Intel Math Kernel Library(MKL)提供一个高效的普遍应用于金融、科学、工程,财经计算的linear algebra、 Fast Fourier Transform 和 vector math functions 的函式库。支持Windows和Linux。他能消减手写代码的昂贵成本并提供一个通用的优化代码基础,还提供跨平台的开发代码。 这是一种帮助开发商创建数字密集型模拟和分析应用的软件库,支持基于英特尔奔腾4、英特尔奔腾3、英特尔至强和英特尔安腾2处理器的系统。这一全新的软件库将帮助开发商简化开发工作,并提高跨多个英特尔架构系统的应用性能。 Intel Math Kernel Library 是可重复使用的线性代数、快速富立叶变换及矢量数学(Vector Math)和统计函数的集合,带有通用应用编程接口。一个库就是一组预先构建的编程代码,开发人员在编写应用时可以进行“调用”。Intel Math Kernel Library使开发人员只需编写一次代码,即可获得跨众多英特尔架构系统的性能优势。该库设计适合于数学密集型应用,如财务建模和地质勘测分析软件。 Windows版本。
请登录后再发表评论!11184人阅读
Android(7)
后面那堆乱码使我知道只好用谷歌去查一下问题***,翻着翻着就有了启发。
首先自己在捣鼓如何获取APK信息,然后了解了一下ProcessBuilder类,具体这个类如何获取APK信息,我另外写了一篇分析这个类的文章:
public class TestProcess {
public static void main(String[] args) {
ProcessBuilder pb = new ProcessBuilder();
pb.redirectErrorStream(true);
Process p = pb.command(&C:/getapkinfo/aapt.exe d badging D:/new/test.apk&).start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),&UTF-8&));
String s = &&;
while((s=br.readLine())!= null){
System.out.println(s);
} catch (IOException e) {
e.printStackTrace();
执行这段代码的时候,就报了
&java.io.IOException: Cannot run program &C:/getapkinfo/aapt.exe d&: CreateProcess error=2, ????>>u 1/2 ??
但是直接在Dos窗口是可以执行的。
将代码改为,
Process p = pb.command(&ipconfig&).start();
是正常执行的。后面搜到的一大堆***全部都是什么路径问题。不,都是错误的解决方法。
ProcessBuider的API写到It is not checked whether
command corresponds to a valid operating system command。就是非系统指令并不会提示。
然后受到网上一个***的启发和源码的启发,我尝试将代码改为:
Process p = pb.command(&C:/getapkinfo/aapt.exe d&,&badging&,&D:/new/test.apk&).start();
是的,这样就正常执行了。
为什么呢?
似乎指令之间如果有空格而不用不同的字符串隔开,就会无法识别指令。
Process p = pb.command(&C:/getapkinfo/aapt.exe&,& &,&d&,&badging&,&D:/new/test.apk&).start();这样是正常执行的,但是,这样执行后的结果等价于在Dos窗口输入:C:/getapkinfo/aapt.exe罢了。
然后,本来ipconfig /all是可以输出ip地址的详细信息的。
但是改为:
Process p = pb.command(&ipconfig //all&).start();
也是报相同的错误,到这里大家就知道了错误出在哪里了。
指令中有空格的需要用不同的字符串分开。
在重新读一下该方法的API。
public ProcessBuilder command(String... command)
command - a string array containing the program and its arguments
可见指令与参数是要放在不同的字符串数组里面的,所以下面才会正常执行:
Process p = pb.command(&C:/getapkinfo/aapt.exe&,& &,&d&,&badging&,&D:/new/test.apk&).start();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:623648次
积分:6713
积分:6713
排名:第2425名
原创:122篇
评论:382条
文章:19篇
阅读:41721
(4)(1)(3)(2)(1)(1)(2)(4)(5)(1)(1)(7)(3)(3)(4)(9)(5)(16)(8)(3)(2)(2)(1)(2)(2)(1)(3)(3)(6)(5)(9)(9)(5)(1)(2)(1)(1)zwbloveparents 的BLOG
用户名:zwbloveparents
文章数:22
访问量:7465
注册日期:
阅读量:5863
阅读量:12276
阅读量:337912
阅读量:1041144
51CTO推荐博文
最近由于工作需要,使用java在调用cmd程序时,为了避免在路径当中有多个空格(例如:c:\\aa & a\t t\m & & m),所以使用了 &Runtime time = Runtime.getRuntime(); &try{ & & &time.exec(new String[]{&Sp.exe&}, null, new File(args[1])); & &}catch(Exception e){ & & e.printStackTrace(); & &}遇到了java.io.IOException: CreateProcess error=2, ?????????异常,找了很多原因都没有弄明白,然而使用 time.exec(new String[]{&java&,&-jar&,&Sp.jar&}, null, new File(args[1]));就可以!如果使用:(前提是不能有不规则的空格出现) &Runtime time = Runtime.getRuntime(); &try{ & & &String command = &args[1]&+File.separator+Sp. & & &time.exec(command); & &}catch(Exception e){ & & e.printStackTrace(); & &}也可以,同样在底层都是使用的ProcessBuilder去创建的进程,只是传递的参数不一样,结果就不一样。我的理解是,在java中去执行exe文件,使用第一种方式,目录中windows在执行程序Sp.exe时,与主程序的工作目录不一样,就是说user.dir不一样,因为进程的工作目录不同,所以在创建进程时报错。虽然你能在java程序中遍历到你需要的文件。为了避免出现多个空格的情况,继续实验,最终找到了解决的方案: Runtime time = Runtime.getRuntime(); &try{ & & time.exec(new String[]{&cmd&,&/c&,&Sp.exe&}, null, new File(args[1])); & &}catch(Exception e){ & & e.printStackTrace(); & &}cmd /c中具体含义,你在dos中输入 cmd /?就可以查看本文出自 “” 博客,转载请与作者联系!
了这篇文章
类别:未分类┆阅读(0)┆评论(0)- 宽带山KDS
主题:createprocess失败;错误码2 系统找不到指定文件
来自:上海&
发帖:288+5555&
这算啥问题拉
-------------------------------------------------------------------------------------------
2月1号正式成为上班族~
来自:上海&
发帖:288+5556&
作孽啊.........&&&&
-------------------------------------------------------------------------------------------
2月1号正式成为上班族~
...第1楼...
来自:上海&
-------------------------------------------------------------------------------------------
男女交合,是为王道
女女淫媾,是为圣道
男男搞基,是为邪道
现在的你~惨无人道
来自:上海&
发帖:288+5558&
高人出现啊..............全射给你
-------------------------------------------------------------------------------------------
2月1号正式成为上班族~
来自:上海&
发帖:288+5559&
难道只好重装拉! 个记真额失意了
-------------------------------------------------------------------------------------------
2月1号正式成为上班族~
来自:上海&
发帖:288+5561&
-------------------------------------------------------------------------------------------
2月1号正式成为上班族~
createprocess失败;错误码2 系统找不到指定文件