最近在看一些代码时,很多地方都用到了System.getProperty()、System.load()、System.loadLibrary()等等
System可以有对标准输入,标准输出,错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法System.getProperties()可以确定当前的系统属性,返回值是一个Properties;
System.load(String filename)等同于:System.getProperties().load(String filename)它们的作用是可以从作为动态库的本地文件系统中以指定的文件名加载代码文件。
System.setProperties(Properties propes):将系统属性设置为Properties参数;
System.setProperties(String key,String value)等同于System.getProperties().setProperties(String key,String value):设置指定键指示的系统属性
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
static void |
setProperties(Properties props) 将系统属性设置为 Properties 参数。 |
static String |
setProperty(String key, String value) 设置指定键指示的系统属性。 |
static Properties |
getProperties() 确定当前的系统属性。 |
static String |
getProperty(String key) 获取指定键指示的系统属性。 |
static String |
getProperty(String key, String def) 获取用指定键描述的系统属性。 |
1、setProperties
public static void setProperties(Properties props)将系统属性设置为
Properties
参数。
首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess
方法。这可能导致一个安全性异常。
参数是 getProperty(String)
方法使用的当前系统属性的集合。如果参数为 null
,则忽略当前系统属性的集合。
参数:
props
- 新的系统属性。抛出:SecurityException
- 如果安全管理器存在并且其 checkPropertiesAccess
方法不允许访问系统属性。另请参见:getProperties()
, Properties
, SecurityException
, SecurityManager.checkPropertiesAccess()
2、System.getProperties
public static Properties getProperties()
确定当前的系统属性。
首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess
方法。这可能导致一个安全性异常。
将 getProperty(String)
方法使用的当前系统属性集合作为 Properties
对象返回。如果没有当前系统属性集合,则先创建并初始化一个系统属性集合。这个系统属性集合总是包含以下键的值:
java.version |
Java 运行时环境版本 |
java.vendor |
Java 运行时环境供应商 |
java.vendor.url |
Java 供应商的 URL |
java.home |
Java 安装目录 |
java.vm.specification.version |
Java 虚拟机规范版本 |
java.vm.specification.vendor |
Java 虚拟机规范供应商 |
java.vm.specification.name |
Java 虚拟机规范名称 |
java.vm.version |
Java 虚拟机实现版本 |
java.vm.vendor |
Java 虚拟机实现供应商 |
java.vm.name |
Java 虚拟机实现名称 |
java.specification.version |
Java 运行时环境规范版本 |
java.specification.vendor |
Java 运行时环境规范供应商 |
java.specification.name |
Java 运行时环境规范名称 |
java.class.version |
Java 类格式版本号 |
java.class.path |
Java 类路径 |
java.library.path |
加载库时搜索的路径列表 |
java.io.tmpdir |
默认的临时文件路径 |
java.compiler |
要使用的 JIT 编译器的名称 |
java.ext.dirs |
一个或多个扩展目录的路径 |
os.name |
操作系统的名称 |
os.arch |
操作系统的架构 |
os.version |
操作系统的版本 |
file.separator |
文件分隔符(在 UNIX 系统中是“/”) |
path.separator |
路径分隔符(在 UNIX 系统中是“:”) |
line.separator |
行分隔符(在 UNIX 系统中是“/n”) |
user.name |
用户的账户名称 |
user.home |
用户的主目录 |
user.dir |
用户的当前工作目录 |
系统属性值中的多个路径是用平台的路径分隔符分隔的。
注意,即使安全管理器不允许执行 getProperties
操作,它可能也会选择允许执行 getProperty(String)
操作。
返回:系统属性抛出:
SecurityException
- 如果安全管理器存在并且其 checkPropertiesAccess
方法不允许访问系统属性。另请参见:setProperties(java.util.Properties)
, SecurityException
, SecurityManager.checkPropertiesAccess()
, Properties
- public class TestSystemGetSet {
- static{
- System.setProperty("DB", "mysql");//可以作为全局变量,在任何地方使用
- }
- public static void main(String[] args) {
- System.out.println(System.getProperty("os.version"));
- System.out.println(System.getProperty("java.library.path"));
- System.out.println(System.getProperty("DB"));
- }
- }
C:\Java\jdk1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Java/jre8/bin/server;C:/Java/jre8/bin;C:/Java/jre8/lib/amd64;C:\Program Files\IBM\WebSphere MQ\java\lib;C:\Program Files\IBM\WebSphere MQ\java\lib64;E:\app\Administrator\product\11.2.0\dbhome_2\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.1\bin;D:/maven\bin;C:\Program Files (x86)\Rational\common;C:\Program Files\IBM\WebSphere MQ\bin64;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\tools\c\samples\bin;C:\Java\jdk1.8.0_121\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;D:\maven\bin;E:\soft\apache-ant-1.10.1\bin;D:\erl9.2\bin;;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;E:\tool\eclipse;;.
mysql
相关推荐
Java中System.getProperty的使用
这是本人在进行使用递归替换HTML文件中的图片内容时,所遇到的问题解决方案,喜欢能够帮到大家,让自己懂得东西越来愈多,做更多的分享
主要介绍了Java的System.getProperty()方法获取大全,罗列了System.getProperty()方法获取各类信息的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
System.getProperty 通过该方法获取系统属性信息 很好
java获取操作系统名称,通过 System.getProperty("os.name") 由于JDK的bug,Windows Server 2012 R2获取到的System.getProperty("os.name") 为 Window NT unknown 因此需要通过JNA(Java Native Access )调用...
jacob.jar1.19及使用方法 解压后获得3个文件 jacob.jar jacob-1.17-x64.dll jacob-1.17-x86.dll jacob.jar 放到项目的lib目录 win7 jacob-1.17-x64.dll 放到C:\Windows\System32 jacob-1.17-x86.dll 放到C:\...
liunx opencv java320.so System.getProperty("java.library.path") 获取到library路径然后把so文件放到该目录下
利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)
Java连接数据库代码实现代码, 代码片段: public MyTask(ServletContext context) { this.mContext = context; Properties prop = new Properties(); InputStream in = null; try { in = MyTask.class....
环境: Java 用法: static{ System.load(System.getProperty("user.dir")+"/src/main/resources/opencv_java342.dylib"); }
System.out.println(System.getProperty("java.library.path")); 看看结果与自己电脑环境变量 path 的值 是否一致。如果不一致,再新建一个项目试试,我就碰到过这个问题,新建了之后就好了。大家试试吧!
1.将jacob.jar导入到项目的lib中去 2.将Jacob.dll放至“WINDOWS\SYSTEM32”下面(或者放在对应的jdk目录下 如:C:\Program ...附:可以通过System.out.println(System.getProperty("java.library.path"))查出jdk的信息
B, java web 项目要用一个可以正常启动的web项目(当然没用到jaxb的web项目),打印System.out.println(System.getProperty("java.endorsed.dirs"));即可,我的是java web项目,打出的是E:/tomcat6/common/endorsed ...
本地离线查看类似fastjson-1.2.21-javadoc.jar这样的doc文件,原理其实也是java读取该压缩文件,解压到System.getProperty("java.io.tmpdir")/javadoc-viewer下,再调用浏览器打开里面的index.html文件。 每次可以...
new File(System.getProperty("user.home")+File.separator+"Videos"); 其它: new File(System.getProperty("user.home")+File.separator+"Movies"); 我的电脑是C:\Documents and Settings\hz001\Videos这个路径 ...
$system ->getProperty( 'java.version' ). ' ' ; print 'Java vendor=' . $system ->getProperty( 'java.vendor' ). ' ' ; print 'OS=' . $system ->getProperty( 'os.name' ). ' ' . $system ->...
String relativelyPath = System.getProperty("user.dir"); System.load(relativelyPath + "\\opencv_java340-x64.dll"); 如果不添加,会报错 Exception in thread "main" java.lang.UnsatisfiedLinkError: org....