java process(使用java Process执行命令报:find: 路径必须在表达式之前: | 错误)

:暂无数据 2026-05-10 03:00:02 0
本文是您理解java process的最后一站。我们将通过剖析使用java Process执行命令报:find: 路径必须在表达式之前: | 错误,帮你打通任督二脉,彻底领悟。

本文目录

使用java Process执行命令报:find: 路径必须在表达式之前: | 错误

支持正则表达式,如果认为多次敲命令麻烦,可以考虑写一写脚本。这样每次执行这个脚本就可以了。
还有如果要查询一个文件或者一个文件里的数据。你可以从拥有该文件的根目录查起,因为find命令可以递归查询多个子目录。
另外找到一个方法 find -regex ’name’ 此处的name是包含全路径的,但是此处的正则表达式语法有点不一样。

java process如何一次性执行多个dos命令

Java process是不可能一次性执行多条dos命令的,因为一次只能执行一条,人眼感觉是一下子可以执行多条。

java 获取process返回值的指定部分

请参考java API
public BufferedInputStream(InputStream in,
int size)创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。创建一个长度为 size 的内部缓冲区数组并将其存储在 buf 中。
参数:
in - 底层输入流。
size - 缓冲区大小。
抛出:
IllegalArgumentException - 如果 size 《= 0

java中的Process

Runtime****c("notepad") 返回的Process实例是基于Process子类,这点无需质疑。
任何成功实例化的对象所属的类都是非抽象的实现类,抽象的方法已被实现。
如果想查找其真实子类,可通过:
*****( Process实例引用.getClass().getName() ); // 详细可参考J**A反射机制
或着 查源码/Debug 跟踪 Runtime****c 方法的执行过程。
以上是我告诉你是些常用的技巧,这里根据我看到的源码说说:
Runtime****c 实际上调用了 ***** 的实现,不懂的可查 API 文档;
而ProcessBuilder 内部调用 *****(...) 静态方法 返回1个 ProcessImpl实例;
ProcessImpl类 正好是 Process类 的子类。

Java *****()这个方法是做什么用的是不是去等待这个进程结束的意思

*****()方法将导致当前的线程等待,如果必要的话,直到由该Process对象表示的进程已经终止。此方法将立即返回,如果子进程已经终止。如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。
public class ProcessDemo {
public static void main(String args) {
try {
// create a new process
*****("Creating Process...");
Process p = *****()****c("notepad****");
// cause this process to stop until process p is terminated
*****();
// when you manually close notepad**** program will continue here
*****("Waiting over.");
} catch (Exception ex) {
*****();
}
}
}
Reference:
***隐藏网址***

java 怎么调用windows外部命令

可以使用Java Process类,下面是一些例子:

Process类是一个抽象类,方法都是抽象的,它封装了一个进程,也就是一个可执行的程序     该类提供进程的输入、执行输出到进程、等待进程的完成和检查进程的退出状态及销毁进程的方法
     *****()和Runtime****c方法创建一个本机进程并返回Process子类的一个实例,该实例可以控制进程并获取相关的信息
     其它的概要请参考JDK文档
     下面就开始举几个简单的示例:
     (1)执行简单的DOS命令,如打开一个记事本
    
Java代码 
package *****;   
  
import *****;   
  
public class ProcessTest {   
  
    public static void main(String args) {   
        try {   
                        Process proc=*****()****c("notepad");   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            *****();   
        }   
  
    }   
  
}  
 view plain copy 
package *****;  
  
import *****;  
  
public class ProcessTest {  
  
    public static void main(String args) {  
        try {  
                        Process proc=*****()****c("notepad");  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            *****();  
        }  
  
    }  
  
}  
 
(2)使用它的其它构造方法执行相关的命令,如下例:
 
Java代码 
package *****;   
  
import *****;   
  
public class ProcessTest {   
  
    public static void main(String args) {   
        try {   
               
            String exeFullPathName="C:/Program Files/Internet Explorer/*****";   
            String message="*****";   
            String cmd={exeFullPathName,message};   
            Process proc=*****()****c(cmd);   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            *****();   
        }   
  
    }   
  
}  
 view plain copy 
package *****;  
  
import *****;  
  
public class ProcessTest {  
  
    public static void main(String args) {  
        try {  
              
            String exeFullPathName="C:/Program Files/Internet Explorer/*****";  
            String message="*****";  
            String cmd={exeFullPathName,message};  
            Process proc=*****()****c(cmd);  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            *****();  
        }  
  
    }  
  
}  
 
执行上述命令可以打开Google网站
(3)列出系统正在运行的所有进程信息
  
Java代码 
package *****;   
  
import *****;   
import *****;   
import *****;   
  
public class ListAllProcessTest {   
  
    //列出所有的进程信息   
    public static void main(String args) {   
        BufferedReader br=null;   
        try {   
            Process proc=*****()****c("tasklist");   
            br=new BufferedReader(new InputStreamReader(*****()));   
            @SuppressWarnings("unused")   
            String line=null;   
            *****("打印所有正在运行的进程信息");   
            while((line=*****())!=null){   
                *****(*****());   
            }   
        } catch (IOException e) {   
            *****();   
        }finally{   
            if(br!=null){   
                try {   
                    *****();   
                } catch (Exception e) {   
                    *****();   
                }   
            }   
        }   
           
  
    }   
  
}  
 view plain copy 
package *****;  
  
import *****;  
import *****;  
import *****;  
  
public class ListAllProcessTest {  
  
    //列出所有的进程信息  
    public static void main(String args) {  
        BufferedReader br=null;  
        try {  
            Process proc=*****()****c("tasklist");  
            br=new BufferedReader(new InputStreamReader(*****()));  
            @SuppressWarnings("unused")  
            String line=null;  
            *****("打印所有正在运行的进程信息");  
            while((line=*****())!=null){  
                *****(*****());  
            }  
        } catch (IOException e) {  
            *****();  
        }finally{  
            if(br!=null){  
                try {  
                    *****();  
                } catch (Exception e) {  
                    *****();  
                }  
            }  
        }  
          
  
    }  
  
}  
 
(4)判断一个具体的进程是否正在运行,如下例:
Java代码 
package *****;   
import *****;   
import *****;   
public class FindProcessExeTest   
{   
    public static void main(String args){   
           
        if(findProcess("QQ****")){   
            *****("------判断指定的进程是否在运行------");   
            *****("QQ****该进程正在运行!");   
        }else{   
            *****("------判断指定的进程是否在运行------");   
            *****("QQ****该进程没有在运行!");   
        }   
  
    }   
    public static boolean findProcess(String processName){   
        BufferedReader br=null;   
        try{   
              
            //下面这句是列出含有processName的进程图像名   
            Process proc=*****()****c("tasklist /FI /"IMAGENAME eq "+processName+"/"");   
            br=new BufferedReader(new InputStreamReader(*****()));   
            String line=null;   
            while((line=*****())!=null){   
                //判断指定的进程是否在运行   
                if(*****(processName)){   
                    return true;   
                }   
            }   
               
            return false;   
        }catch(Exception e){   
            *****();   
            return false;   
        }finally{   
            if(br!=null){   
                try{   
                    *****();   
                }catch(Exception ex){   
                }   
            }   
               
        }   
    }   
}  
 view plain copy 
package *****;  
import *****;  
import *****;  
public class FindProcessExeTest  
{  
    public static void main(String args){  
          
        if(findProcess("QQ****")){  
            *****("------判断指定的进程是否在运行------");  
            *****("QQ****该进程正在运行!");  
        }else{  
            *****("------判断指定的进程是否在运行------");  
            *****("QQ****该进程没有在运行!");  
        }  
  
    }  
    public static boolean findProcess(String processName){  
        BufferedReader br=null;  
        try{  
             
            //下面这句是列出含有processName的进程图像名  
            Process proc=*****()****c("tasklist /FI /"IMAGENAME eq "+processName+"/"");  
            br=new BufferedReader(new InputStreamReader(*****()));  
            String line=null;  
            while((line=*****())!=null){  
                //判断指定的进程是否在运行  
                if(*****(processName)){  
                    return true;  
                }  
            }  
              
            return false;  
        }catch(Exception e){  
            *****();  
            return false;  
        }finally{  
            if(br!=null){  
                try{  
                    *****();  
                }catch(Exception ex){  
                }  
            }  
              
        }  
    }  
}  
 
 其它的用法可以参考JDK文档,这里就不一一举例,毕竟它用得不多。

java中的processWindowEvent()方法是什么意思

protected void processWindowFocusEvent(WindowEvent e)处理此窗口上发生的窗口焦点事件:将它们指派到任何注册的 WindowFocusListener 对象。注:只有为此组件启用了窗口事件时,此方法才有可能被调用。这在存在以下条件之一时发生:
通过 addWindowFocusListener 注册 WindowFocusListener
通过 enableEvents(*****_EVENT_MASK) 启用窗口焦点事件
注意,如果此事件参数为 null,则此行为是不明确的,可能导致异常。

java 怎么取外部程序运行后的返回值

J**A 中 process 类的使用
Process是一个抽象类 封装了一个进程
创建 process
Process p = *****()****c(cmd); cmd 是字符串类型 也可以是字符串类型的数组 内容就是 命令行
Process p =*****();
Process 类提供了子进程的输入流,子进程的输出流子进程的输入流,等待进程完成,检查进程的退出状态以及销毁进程的方法;
创建的子进程没有自己的控制台或终端,其所有的io操作都是通过(输入流、输出流、错误流)重定向到父进程中。
destroy()
杀掉子进程。
exitValue()
返回子进程的出口值。
InputStream getErrorStream()
获得子进程的错误流。
InputStream getInputStream()
获得子进程的输入流。
OutputStream getOutputStream()
获得子进程的输出流。
waitFor()
导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。
-------分割线,以上来自网络-------
其中的exitValue()函数返回值就是你需要的东西。按照你的示例,return 12345,取得的值不一定等于12345,因为每个不同的shell对于程序退出的返回值是有自己的定义的,不一定是把程序return的值直接返回。可以查看各类shell的编程帮助。

J**A,ProcessMouceEvent()与ProcessMouceMotionEvent(

processEvent 可以理解为是所有事件处理的中枢(事件分配者),重载它的时候要相对小心;如果你不调用*****(e);的话,是可以完全取代原有事件处理的,这种情况下可能导致其它依赖于listener模式的组件出现问题。
而mouseListener则仅仅是鼠标事件的**器,相当于注册了一个函数,等待processEvent来调用。
所以,一般来说不推荐直接重写processEvent()。
附上JDK的源码,你看看应该能理解两者关系:
Java code?

protected void processEvent(AWTEvent e) {
if (e instanceof FocusEvent) {
processFocusEvent((FocusEvent)e);

} else if (e instanceof MouseEvent) {
switch(*****()) {
case *****_PRESSED:
case *****_RELEASED:
case *****_CLICKED:
case *****_ENTERED:
case *****_EXITED:
processMouseEvent((MouseEvent)e);
break;
case *****_MOVED:
case *****_DRAGGED:
processMouseMotionEvent((MouseEvent)e);
break;
case *****_WHEEL:
processMouseWheelEvent((MouseWheelEvent)e);
break;
}

} else if (e instanceof KeyEvent) {
processKeyEvent((KeyEvent)e);

} else if (e instanceof ComponentEvent) {
processComponentEvent((ComponentEvent)e);
} else if (e instanceof InputMethodEvent) {
processInputMethodEvent((InputMethodEvent)e);
} else if (e instanceof HierarchyEvent) {
switch (*****()) {
case *****_CHANGED:
processHierarchyEvent((HierarchyEvent)e);
break;
case *****_MOVED:
case *****_RESIZED:
processHierarchyBoundsEvent((HierarchyEvent)e);
break;
}
}
}

除了使用java Process执行命令报:find: 路径必须在表达式之前: | 错误java process领域还有很多值得探讨的话题。点击下方“相关推荐”,发现更多精彩内容。
本文编辑:admin

本文相关文章:


attributeerror怎么解决(Python3提示错误 AttributeError: module ’urllib.request’ has no attribute ’HTTPHander’ 怎么解决)

attributeerror怎么解决(Python3提示错误 AttributeError: module ’urllib.request’ has no attribute ’HTTPHander’ 怎么解决)

回顾我学习attributeerror怎么解决的经历,Python3提示错误 AttributeError: module ’urllib.request’ has no attribute ’HTTPHander’ 怎么解决可算是一个重要

2026年5月4日 14:00

error633下载(错误633怎么解决)

error633下载(错误633怎么解决)

error633下载和错误633怎么解决,看似独立,实则血脉相连。它们是如何相互影响的?本文将为你层层剖析。

2026年5月1日 23:00

oracle9i卸载(XP系统安装oracle9i时出现这样的错误提示什么问题请高手指教)

oracle9i卸载(XP系统安装oracle9i时出现这样的错误提示什么问题请高手指教)

从我第一次听说oracle9i卸载到真正弄懂XP系统安装oracle9i时出现这样的错误提示什么问题请高手指教,也走过一些弯路。下面就把我的学习心得分享给大家,希望能让您的入门之路更顺畅。

2026年4月30日 05:40

selecteditems无效的过程调用或参数(运行软件时,电脑显示“运行时错误5,无效的过程调用或参数)

selecteditems无效的过程调用或参数(运行软件时,电脑显示“运行时错误5,无效的过程调用或参数)

曾几何时,我也觉得selecteditems无效的过程调用或参数高不可攀,尤其运行软件时,电脑显示“运行时错误5,无效的过程调用或参数更是一头雾水。后来才发现,只是没找对方法,希望我的经验能帮到你。

2026年4月27日 12:20

logcat怎么看错误(android开发中logcat怎么查看错误)

logcat怎么看错误(android开发中logcat怎么查看错误)

从一个常见的误区说起:很多人学logcat怎么看错误,却忽略了android开发中logcat怎么查看错误。结果事倍功半。希望你不会再犯这个错误。

2026年4月25日 10:20

createfile failed with 32 apex(apex启动错误代码32)

createfile failed with 32 apex(apex启动错误代码32)

我们注意到,那些在createfile failed with 32 apex上表现突出的人,往往都对apex启动错误代码32有独到的见解。这并非巧合。

2026年4月23日 23:20

pointer to different objects(同一项目文件的编译,在伟福下没有错误和警告,而在Keil下却有warning C182: pointer to different objects)

pointer to different objects(同一项目文件的编译,在伟福下没有错误和警告,而在Keil下却有warning C182: pointer to different objects)

本文是您理解pointer to different objects的最后一站。我们将通过剖析同一项目文件的编译,在伟福下没有错误和警告,而在Keil下却有warning C182: pointer to different objects

2026年4月20日 15:20

iostream报错(调用iostream为什么显示错误)

iostream报错(调用iostream为什么显示错误)

为什么说不懂调用iostream为什么显示错误,就等于没学明白iostream报错?这篇文章将给你一个令人信服的解释。

2026年4月18日 02:40

为什么安装了mysql打开过然后又报错(我按照百度经验里的步骤安装mysql,每次启动My**L就出现如下图的错误)

为什么安装了mysql打开过然后又报错(我按照百度经验里的步骤安装mysql,每次启动My**L就出现如下图的错误)

相信点开这篇文章的你,一定对为什么安装了mysql打开过然后又报错抱有好奇。没关系,下面我们就结合我按照百度经验里的步骤安装mysql,每次启动My**L就出现如下图的错误,带你一步步揭开它的面纱。

2026年4月7日 00:40

系统自带驱动缺失local(你的电脑无法启动,原因是关键驱动程序丢失或者包含错误)

系统自带驱动缺失local(你的电脑无法启动,原因是关键驱动程序丢失或者包含错误)

相信点开这篇文章的你,一定对系统自带驱动缺失local抱有好奇。没关系,下面我们就结合你的电脑无法启动,原因是关键驱动程序丢失或者包含错误,带你一步步揭开它的面纱。

2026年4月3日 00:40

更多文章:


血腥玛丽好喝吗(30.血腥玛丽鸡尾酒)

血腥玛丽好喝吗(30.血腥玛丽鸡尾酒)

本篇关于血腥玛丽好喝吗的讲解,将摒弃陈词滥调,直击30.血腥玛丽鸡尾酒这一实战要害,给你可即刻应用的策略。

2026年5月10日 04:20

字符串长度必须小于等于255(我是一个VB的菜鸟,我想知道VB中的字符串和变量的理论)

字符串长度必须小于等于255(我是一个VB的菜鸟,我想知道VB中的字符串和变量的理论)

有没有这种经历:明明想搞懂字符串长度必须小于等于255,却被我是一个VB的菜鸟,我想知道VB中的字符串和变量的理论卡住了脖子?今天这篇文章,就是专治这种“卡脖子”问题的。

2026年5月10日 04:00

c中sort函数(sort函数在C语言中的作用是啥)

c中sort函数(sort函数在C语言中的作用是啥)

很多新手在接触c中sort函数时,都会在sort函数在C语言中的作用是啥这个问题上徘徊良久。本文将亮起指路明灯,带你快速通关。

2026年5月10日 03:40

character加ize的形式(角色的英文character吗)

character加ize的形式(角色的英文character吗)

从我第一次听说character加ize的形式到真正弄懂角色的英文character吗,也走过一些弯路。下面就把我的学习心得分享给大家,希望能让您的入门之路更顺畅。

2026年5月10日 03:20

java process(使用java Process执行命令报:find: 路径必须在表达式之前: | 错误)

java process(使用java Process执行命令报:find: 路径必须在表达式之前: | 错误)

本文是您理解java process的最后一站。我们将通过剖析使用java Process执行命令报:find: 路径必须在表达式之前: | 错误,帮你打通任督二脉,彻底领悟。

2026年5月10日 03:00

js在数组末尾添加元素(用js中push追加和直接用符字符串追加有什么区别)

js在数组末尾添加元素(用js中push追加和直接用符字符串追加有什么区别)

前几天,一位朋友问我:js在数组末尾添加元素到底该怎么学?我只回了他三个字:抓住用js中push追加和直接用符字符串追加有什么区别。今天就来详细说说为什么。

2026年5月10日 02:40

fflush函数(在C语言编程中什么时候需要用fflush(stdin))

fflush函数(在C语言编程中什么时候需要用fflush(stdin))

读懂本文,您将不仅了解fflush函数是什么,更能洞悉在C语言编程中什么时候需要用fflush(stdin)背后的逻辑,从而举一反三。

2026年5月10日 02:20

phpmyadmin打开空白(phpmyadmin**后出现空白页是怎么回事啊)

phpmyadmin打开空白(phpmyadmin**后出现空白页是怎么回事啊)

你是否好奇,为什么人人都在谈phpmyadmin打开空白?它和phpmyadmin**后出现空白页是怎么回事啊之间究竟存在着怎样微妙的联系?答案就在下文。

2026年5月10日 02:00

ext框架怎么在grid中显示文本框?ext基本语法

ext框架怎么在grid中显示文本框?ext基本语法

老铁们,关于ext框架,你可能听过不少说法。今天,咱们就坐下来好好聊聊ext框架怎么在grid中显示文本框,保证让你豁然开朗。

2026年5月10日 01:40

百度小程序开发制作(百度小程序开发多少钱)

百度小程序开发制作(百度小程序开发多少钱)

大家好,如果您还对百度小程序开发制作不太了解,没有关系,今天就由本站为大家分享百度小程序开发制作的知识,包括百度小程序开发多少钱的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年5月10日 01:20

最近更新

java process(使用java Process执行命令报:find: 路径必须在表达式之前: | 错误)
2026-05-10 03:00:02 浏览:0
phpmyadmin打开空白(phpmyadmin**后出现空白页是怎么回事啊)
2026-05-10 02:00:04 浏览:0
热门文章

split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
标签列表