2、执行命令行命令
/**
* 运行命令行
* @throws Exception
*/
public synchronized static void runExecCommand(String cmdStr) throws Exception{
String osName = System.getProperty("os.name");
String cmd = "";
Process p;
try{
if (osName.matches("^(?i)Windows.*$")) {// Window 系统
cmd = " cmd /c "+cmdStr;
Runtime.getRuntime().exec(cmd);
}else{// Linux 系统
cmd = ""+cmdStr;
String[] comands = new String[] { "/bin/sh", "-c", cmd };
p = Runtime.getRuntime().exec(comands);
}
logger.info("exec command to system:"+cmd);
}catch (Exception e) {
logger.error("io exec ee....." + e);
}finally{
//p.destroy();
}
}3、获取本机ip
package common;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
public class IpTest {
public static String getInet4Address() throws SocketException, UnknownHostException {
return System.getProperty("os.name").toLowerCase().indexOf("window") > -1 ? getWindowIp() : getUnixIp();
}
private static String getWindowIp() throws UnknownHostException {
return InetAddress.getLocalHost().getHostAddress();
}
private static String getUnixIp() throws SocketException {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
System.out.println(netInterface.getName());
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = (InetAddress) addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
System.out.println("本机的IP = " + ip.getHostAddress());
return ip.getHostAddress();
}
}
}
return null;
}
public static void main(String args[]) throws SocketException, UnknownHostException {
System.out.println(System.getProperty("os.name"));
System.out.println(getInet4Address());
}
}
这篇博客探讨了如何编写代码,以便根据运行的操作系统(Windows, Linux, macOS)执行不同的命令行指令。内容涉及如何检测当前系统,并适配执行相应的shell命令。"
7886338,33208,手动安装Oracle ODAC XCopy步骤详解,"['oracle', 'asp.net', '.net', 'c']
17万+

被折叠的 条评论
为什么被折叠?



