参数表:
public static final String key[] = {
"microedition.platform",
"microedition.configuration",
"microedition.profiles",
"microedition.encoding",
"microedition.locale",
"microedition.commports",
"microedition.hostname",
"microedition.jtwi.version",
"microedition.media.version",
"supports.mixing",
"supports.audio.capture",
"supports.video.capture",
"supports.recording",
"audio.encodings",
"video.snapshot.encodings",
"streamable.contents",
"wireless.messaging.sms.smsc",
"wireless.messaging.mms.mmsc",
"microedition.m3g.version",
"bluetooth.api.version",
"microedition.io.file.FileConnection.version",
"microedition.pim.version",
"phone.imei",
"phone.mcc",
"phone.mnc",
"phone.lai",
"phone.cid",
"com.siemens.IMEI",
"java.home",
"java.class.path",
"java.specification.version",
"java.specification.vendor",
"java.specification.name",
"java.version",
"java.vendor",
"java.vendor.url",
"java.vm.specification.version",
"java.vm.specification.vendor",
"java.vm.specification.name",
"java.vm.version",
"java.vm.vendor",
"java.vm.name",
"java.class.version",
"os.name", "os.arch",
"os.version", "file.separator",
"path.separator", "line.separator",
"user.name",
"user.home",
"user.dir",
"java.runtime.name",
"sun.boot.library.path",
"file.encoding.pkg",
"user.country",
"sun.os.patch.level",
"java.runtime.version",
"java.awt.graphicsenv",
"java.endorsed.dirs",
"java.io.tmpdir",
"user.variant",
"sun.java2d.fontpath",
"java.library.path",
"user.timezone",
"java.awt.printerjob",
"file.encoding",
"sun.arch.data.model",
"user.language",
"awt.toolkit",
"java.vm.info",
"java.ext.dirs",
"sun.boot.class.path",
"java.vendor.url.bug",
"sun.cpu.endian",
"sun.io.unicode.encoding",
"sun.cpu.isalist"
};
public static void main(String[] args){
System.out.println("Java运行时环境版本:/n"+System.getProperty("java.version"));
System.out.println("Java 运行时环境供应商:/n"+System.getProperty("java.vendor"));
System.out.println("Java 供应商的URL:/n"+System.getProperty("java.vendor.url"));
System.out.println("Java安装目录:/n"+System.getProperty("java.home"));
System.out.println("Java 虚拟机规范版本:/n"+System.getProperty("java.vm.specification.version"));
System.out.println("Java 类格式版本号:/n"+System.getProperty("java.class.version"));
System.out.println("Java类路径:/n"+System.getProperty("java.class.path"));
System.out.println("加载库时搜索的路径列表:/n"+System.getProperty("java.library.path"));
System.out.println("默认的临时文件路径:/n"+System.getProperty("java.io.tmpdir"));
System.out.println("要使用的 JIT 编译器的名称:/n"+System.getProperty("java.compiler"));
System.out.println("一个或多个扩展目录的路径:/n"+System.getProperty("java.ext.dirs"));
System.out.println("操作系统的名称:/n"+System.getProperty("os.name"));
System.out.println("操作系统的架构:/n"+System.getProperty("os.arch"));
System.out.println("操作系统的版本:/n"+System.getProperty("os.version"));
System.out.println("文件分隔符(在 UNIX 系统中是“/”):/n"+System.getProperty("file.separator"));
System.out.println("路径分隔符(在 UNIX 系统中是“:”):/n"+System.getProperty("path.separator"));
System.out.println("行分隔符(在 UNIX 系统中是“/n”):/n"+System.getProperty("line.separator"));
System.out.println("用户的账户名称:/n"+System.getProperty("user.name"));
System.out.println("用户的主目录:/n"+System.getProperty("user.home"));
System.out.println("用户的当前工作目录:/n"+System.getProperty("user.dir"));
在J2ME开发中,我们经常需要和手机系统进行交互,获得一些和系统相关的信息,在J2ME API设计中,提供了一系列的系统属性
属性名称
|
属性作用
|
microedition.profiles
|
代表手机支持的MIDP版本,返回格式值为“MIDP-1.0”或“MIDP-2.0”
|
microedition.configuration
|
代表手机支持的CLDC版本,返回格式值为“CLDC-1.0”或“CLDC-2.0”
|
microedition.locale
|
代表手机所在的国家或地区,返回值格式为“en-US”
|
microedition.platform
|
代表手机的品牌和型号,Nokia手机的返回值格式为“Nokia6310i/4.42”
|
microedition.encoding
|
代表手机默认的字符集名称,返回值格式为“ISO-8859-1”
|
microedition.commports
|
代表手机可以使用的串口列表,返回值中各个串口之间使用逗号分隔
|
microedition.hostname
|
MIDP2.0定义,代表本地主机名称,需要手机支持。
|
microedition.jtwi.version
|
代表手机支持的JTWI版本,值必须是“1.0”
|
属性名称
|
属性作用
|
microedition.media.version
|
代表手机支持的MMAPI版本,如果不支持则返回null
|
microedition.pim.version
|
代表手机支持的PIM API版本,如果不支持则返回null
|
microedition.m3g.version
|
代表手机支持的M3G API版本,如果不支持则返回null
|
microedition.location.version
|
代表手机支持的Location API版本,如果不支持则返回null
|
Bluetooth.api.version
|
代表手机支持的BT API版本,如果不支持则返回null
|
microedition.io.file.
FileConnection.version
|
代表手机支持的FC API版本,如果不支持则返回null
|
microedition.global.version
|
代表手机支持的Mobile Internationalization API(JSR-238)版本,如果不支持则返回null
|
microedition.chapi.version
|
代表手机支持的CH(Content Handler) API(JSR211)版本,如果不支持则返回null
|
microedition.sip.version
|
代表手机支持的SIP API版本,如果不支持则返回null
|
属性名称
|
属性作用
|
supports.mixing
|
代表手机是否支持混音(同时播放多个Player),返回值为“true”或“false”
|
supports.audio.capture
|
代表手机是否支持声音捕获(录音),返回值为“true”或“false”
|
supports.video.capture
|
代表手机是否支持视频捕获(录像),返回值为“true”或“false”
|
supports.recording
|
代表手机是否支持记录(record),返回值为“true”或“false”
|
audio.encodings
|
代表手机支持的声音格式,返回值格式为“encoding=audio/wav”,多个格式之间使用至少一个空格进行间隔
|
video.encodings
|
代表手机支持的视频格式,返回值格式为“encoding=video/3gpp”,多个格式之间使用至少一个空格进行间隔
|
video.snapshot.encodings
|
代表手机使用getSnapshot方法获得的视频快照格式,返回值格式为“encoding=png”,多个格式之间使用至少一个空格进行间隔
|
streamable.contents
|
代表手机支持的流媒体格式,返回null代表不支持
|
属性名称
|
属性作用
|
fileconn.dir.photos
|
代表手机中存储照片和其它图片的目录,例如“file:///c:/My files/ Images /”
|
fileconn.dir.videos
|
代表手机中存储视频的目录,例如“file:///c:/My files/Video clips/”
|
fileconn.dir.tones
|
代表手机中存储声音的目录,例如“file:///c:/My files/Tones/”
|
fileconn.dir.memorycard
|
代表手机中存储卡的根目录。例如“file:///d:/”
|
fileconn.dir.private
(Nokia S40不支持) |
代表手机中MIDlet的私有工作目录,例如“file:///c:/System/MIDlets/[1015f294]/scratch”
|
fileconn.dir.photos.name
|
代表手机中图片目录的名称,例如“Images”
|
fileconn.dir.videos.name
|
代表手机中视频目录的名称,例如“Video clips”
|
fileconn.dir.tones.name
|
代表手机中声音目录的名称,例如“Sound clips”
|
file.separator
|
代表手机中的文件分隔符,例如“/”
|
fileconn.dir.memorycard.name
|
代表手机中存储卡的名称,例如“Memory card”
|
使用这些属性,可以获得在程序运行过程中需要的很多和系统相关的信息,也可以使用表2中的属性来获得手机是否支持对应的可选包等信息。
实际使用示例:String name = System.getProperty(“microedition.platform”);
注意:如果需要获得JVM或jad文件中的信息,需要使用MIDlet类中的getAppProperty方法,其属性名则需要查阅jad文件的设定,和本文所述的属性名无关。
J2ME Defined System Properties
JSR | Property Name | Default Value¹ |
---|---|---|
30 | microedition.platform | null |
microedition.encoding | ISO8859_1 | |
microedition.configuration | CLDC-1.0 | |
microedition.profiles | null | |
37 | microedition.locale | null |
microedition.profiles | MIDP-1.0 | |
75 | microedition.io.file.FileConnection.version | 1.0 |
file.separator | (impl-dep) | |
microedition.pim.version | 1.0 | |
118 | microedition.locale | null |
microedition.profiles | MIDP-2.0 | |
microedition.commports | (impl-dep) | |
microedition.hostname | (impl-dep) | |
120 | wireless.messaging.sms.smsc | (impl-dep) |
139 | microedition.platform | (impl-dep) |
microedition.encoding | ISO8859-1 | |
microedition.configuration | CLDC-1.1 | |
microedition.profiles | (impl-dep) | |
177 | microedition.smartcardslots | (impl-dep) |
179 | microedition.location.version | 1.0 |
180 | microedition.sip.version | 1.0 |
184 | microedition.m3g.version | 1.0 |
185 | microedition.jtwi.version | 1.0 |
195 | microedition.locale | (impl-dep) |
microedition.profiles | IMP-1.0 | |
205 | wireless.messaging.sms.smsc | (impl-dep) |
205 | wireless.messaging.mms.mmsc | (impl-dep) |
211 | CHAPI-Version | 1.0 |