下面的程序记录着JVM运行环境的值,以及怎么运行可执行文件。
package com.xiva.javaDemo;
import java.io.InputStream;
import java.util.Properties;
import java.util.Scanner;
import org.junit.Test;
public class ChineseCharSplit {
/**
* Java对String操作为UNICODE的方式,所以不存在截取字符的问题;但是当做byte来处理时就需要注意了
*/
@Test public void splitChar(){
String message = "ABCDE我是中国人";
char[] messArray = message.toCharArray();
byte[] bytes = message.getBytes();
byte[] cBytes = {bytes[0],bytes[1],bytes[2],bytes[3],bytes[4],bytes[5],bytes[6]};
System.out.println(messArray.length);
System.out.println(bytes.length);
System.out.println(cBytes[6]);
System.out.println(message.substring(0, 5));
System.out.println();
}
/**
* 可以根据操作系统名称来决定处理方式比如DLL与SO文件
*/
@Test public void getSystemProp(){
Properties props = System.getProperties(); //获得系统属性集
String useName = props.getProperty("user.name");//当前操作系统用户名
String osName = props.getProperty("os.name"); //操作系统名称
String osArch = props.getProperty("os.arch"); //操作系统构架
String osVersion = props.getProperty("os.version"); //操作系统版本
System.out.println(useName+"操作系统名称:"+osName+osArch+"系统版本 :"+osVersion);
}
/**
* 由此我们可以联想到可以执行其他的命令
*/
@Test public void getMacAddress(){
String command = "cmd.exe /c ipconfig /all";
String qqExe = "D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe";
try{
Process p = Runtime.getRuntime().exec(command);
InputStream iStream = p.getInputStream();
Scanner scanner = new Scanner(iStream);
while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
}catch(Exception e){
e.printStackTrace();
}
}
}
String qqExe = "D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe";
假如我们执行上述命令,则可以启动我们的QQ程序。
同样在windows下我们将命令换为"tasklist"时,就可以获取我们当前系统进程的信息。如下图示:
应该说能在命令行执行的命令在这里同样可以使用。
分享到:
相关推荐
在项目属性中找到`Settings -> Cygwin/C++ -> Linker -> Command Line`部分,尝试调整链接器命令行参数,例如添加`-lmingw32`等。 此外,还可以通过设置`LD_LIBRARY_PATH`环境变量来指定动态链接库的搜索路径,以...
`Runtime`类的使用通常是为了获取系统信息或执行系统级别的操作,例如调用操作系统命令。它的单例设计确保了在整个JVM生命周期中只有一个实例,避免了资源浪费。 另一方面,`System`类是Java中的另一个核心类,包含...
你可以通过`jcmd process_id command optional_arguments`来执行命令,比如`jcmd process_id VM.uptime`来查看JVM的运行时间,或者`jcmd process_id VM.system_properties`来获取系统属性。 2. **jconsole**: ...
D 参数配置 JVM 系统属性,格式为 `-D<name>=<value>`: * `-Dos.name=Windows 10 -Dos.version=10.0`:当前系统名称及版本 * `-Dminecraft.launcher.brand=minecraft-launcher -Dminecraft.launcher.version=2.1....
10. **获取操作系统用户名**:通过JVM属性获取操作系统登录用户名:`System.getProperty("user.name")`。 11. **代码编写**:推荐使用Java的新循环写法,如foreach。变量与常量比较时,常量应在操作符右边。方法...
32. **命令(Command, cmd)**:在操作系统中执行特定任务的指令。 33. **目录(Directory)**:文件系统的组织结构,包含文件和子目录。 34. **改变目录(Change Directory, cd)**:在文件系统中切换当前工作目录...
#### Command命令类型 - **知识点解析**:`Command`类在J2ME中定义了多种命令类型,用于用户界面的交互和控制,具体包括哪些类型需要查阅J2ME API文档以获取最准确的信息。这些命令类型覆盖了常见的用户操作,如...
- **Command对象:** 用于执行SQL命令或存储过程。 - **Recordset对象:** 用于存储和操作从数据库检索出的数据记录集合。 ### 12. 数据库中的索引操作 **知识点概述:** 索引是用来加快数据检索速度的数据库结构...
如果遇到JVM编译相关的问题,可以在`eclipse.ini`文件中添加`-XX:CompileCommand=exclude,package/class,method`来排除特定方法的即时编译,例如`-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/...
当通过对象来访问类属性时,系统会在底 层转换为通过该类来访问类 属性。 类成员规则 •类成员并不是属于实例,它是属于类本身的。只要类存在,类成员就存在。 •即使通过null对象来访问类成员,程序...
21. ADO.NET对象模型:主要包括Connection(连接)、Command(命令)、DataReader(数据读取器)、DataAdapter(数据适配器)和DataSet(数据集)等组件,用于数据库操作。 22. WebService:基于SOAP和HTTP协议,使用XML编码...
- **Command(命令)**: 用户或程序发出的具体操作指令。 - **Compile(编译)**: 将高级语言编写的源代码转换成机器可执行的格式的过程。 ##### D - **Data(数据)**: 信息的表现形式,可以是文本、数字、图像等...
MATLAB有一个名为“command history”的窗口,可以查看和使用历史输入命令。 9. **MATLAB 7.0与64位CPU兼容性**: MATLAB7.0可能无法在64位CPU上运行,因为其依赖的虚拟机可能仅支持IA32架构。尝试寻找64位的Java...
- **Command**(命令): 用户通过键盘或鼠标触发的系统动作。 - **Compile**(编译): 将源代码转换成机器可读格式的过程。 #### D. 文件与库 - **Document**(文档): 保存和展示信息的文件。 - **DLL (Dynamic ...
10. 支持J2ME的核心类包括MIDlet、Display、Command、Alert等,分别用于管理应用程序、显示内容、处理用户命令和提示信息。 11. J2ME应用发布通常涉及打包成JAR文件,并可能创建jad文件,通过网络下载或直接安装到...
- 由JVM属性获取:`System.getProperty("user.name")`。这种方法可以在不依赖用户输入的情况下获取当前用户的登录名。 #### 循环写法 1. **循环优化** - 正确做法:尽量使用Java 5.0新循环写法,如增强for循环...
- **用途**:Java程序需要先经过编译,然后才能被Java虚拟机(JVM)解释执行。 #### Constant (常量) - **定义**:常量是在程序执行期间其值不会改变的量。 - **用途**:常量通常用于存储固定的值,如数学常数或...
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...
答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。 40.接口是否可...