Process process = Runtime.getRuntime().exec("net send"+user.getIp()+" "+message);InputStream is = process.getInputStream();is为什么是null
时间: 2024-05-29 14:14:15 浏览: 112
根据 Java API 文档,`Process#getInputStream()` 方法返回的是一个输入流,用于读取进程的标准输出信息。但是如果该进程没有标准输出信息,则该方法会返回 null。
在你的代码中,你使用了 `Runtime#exec()` 方法启动了一个外部进程,并且获取了该进程的输入流。但是如果该进程没有标准输出信息,那么 `Process#getInputStream()` 方法将会返回 null,因此你需要在使用该方法的时候进行 null 值判断,避免出现空指针异常。
另外,你在执行命令时,似乎缺少了一个空格,应该为 `"net send " + user.getIp() + " " + message`。
相关问题
Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("mstsc /v 192.168.2.160");
这段代码是使用Java的Runtime类和Process类来执行命令行指令的。首先,通过Runtime.getRuntime()方法获取Runtime对象,然后使用exec()方法执行命令行指令。在这个例子中,命令行指令是"mstsc /v 192.168.2.160",它的作用是打开远程桌面连接并连接到IP地址为192.168.2.160的计算机。这段代码的目的是通过Java程序来执行这个命令行指令。
#### 引用[.reference_title]
- *1* *2* *3* [工作中使用到的单词(软件开发)_2023_0316备份](https://blog.csdn.net/sxzlc/article/details/129581634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
Process process = Runtime.getRuntime().exec("su"); OutputStream outputStream = process.getOutputStream();
这段代码是在 Android 系统上运行的,它的作用是获取 root 权限。`Runtime.getRuntime().exec("su")` 会执行 `su` 命令,如果设备已经 root,会弹出授权请求窗口,用户授权后,程序就会获得 root 权限。然后,通过 `process.getOutputStream()` 方法获取进程的输出流,可以向该进程发送命令,从而进行一些需要 root 权限的操作。需要注意的是,获取 root 权限是一个危险的操作,建议谨慎使用,避免对设备造成损害。
阅读全文