我Runtime.getRuntime().exec("sort 1.txt > 2.txt");怎么不行啊.程序没报异常但是命令没执行,我直接到linux命令行下sort 1.txt > 2.txt就行.另外我把文件改成777权限并且带上完整的路径还是不行.

解决方案 »

  1.   

    难道要我把sort 1.txt的输出捕获再自己用JAVA流程序写入2.txt吗?
      

  2.   

    有的时候是不可以的,你试试JDK5下对应的看看好象是因为异步执行的原因
      

  3.   

    我对它没有输出的理解是exec执行会创建一个子进程,但是该子进程的输入输出都是与创建它的父进程通信的,所以要想输出子进程里的OutputStream,必须在父进程里捕获该输出再由父进程output给标准输出,如屏幕.不知道这样理解对不对?对的话给自己+20分,哈哈.不过是不是异步执行我就不知道了.我希望是异步执行.最好子进程不要和父进程分享同样的CPU限制.这样效率会提高很多.