String getProperty(String key, String def)

String getProperty(String key, String def) 获取用指定键描述的系统属性.
         * 若key 系统环境或properties等配置文件的键,如os.name等,返回key对应的值
         * 若key 为空或为null,则报错! key can‘t be empty key can‘t be null
         * 若key 不为空不为null,也不是系统环境或properties等配置文件的键,返回def的值

演示代码:

package com.test;

public class Test {
    public static void main(String[] args) {
        testSetgetProperty();
    }

    public static void testSetgetProperty()
    {
        String str1,str2,str3;
        str1=System.getProperty("java.version");
        str2=System.getProperty("user.dir");
        //str3=System.getProperty("");//会报错key can‘t be empty
        System.out.println(str2);
        System.out.println(str1);

        /*getProperty(String key, String def) 获取用指定键描述的系统属性.
         * 若key 系统环境或properties等配置文件的键,如os.name等,返回key对应的值
         * 若key 为空或为null,则报错! key can‘t be empty key can‘t be null
         * 若key 不为空不为null,也不是系统环境或properties等配置文件的键,返回def的值
         * */
        String str4,str5,str6;
        str4=System.getProperty("os.name","myDefault");
        //str5=System.getProperty(null,"myDefault");//报错 key can‘t be null
        str6=System.getProperty("aaa","myDefault");//输出myDefault 不是系统环境或properties等配置文件的键
        System.out.println(str4);  //输出Windows 7
        //System.out.println(str5);
        System.out.println(str6);  //输出默认值 myDefault
    }
}
          系统环境或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 用户的当前工作目录

String getProperty(String key, String def),布布扣,bubuko.com

时间: 2024-10-24 09:42:34

String getProperty(String key, String def)的相关文章

List<Map<String, Integer>> 同key的value全部累加合并

public static void main(String[] args){ List<Map<String,Object>> list1 = new ArrayList<Map<String,Object>>(); Map<String,Object> map1 = new HashMap<String,Object>(); Map<String,Object> map2 = new HashMap<String

convert NameValueCollection/Dictionary&lt;string, object&gt; to JSON string

var col=HttpContext.Current.Request.Form; Dictionary<string, object> dict = new Dictionary<string, object>(); foreach (var key in col.AllKeys) { //dict.Add(k, col[k]); string[] values = col.GetValues(key); if (values.Length == 1) { dict.Add(ke

java中String s="abc"及String s=new String("abc")详解

1.   栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2.   栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器.但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性.另外,栈数据可以共 享,详见第3点.堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要 在运行时动态分配内存,存取速度较慢. ==是判断

&#39;hello world&#39;, String(&#39;hello world&#39;), new String(&#39;hello world&#39;)

http://www.queness.com/post/9806/5-missing-javascript-number-format-functions 这篇文章介绍5种常用的数字转换格式 但是里面有一个小小的不好的编程习惯 就是在把数字转成字符串的时候 使用了 var s = new String(xxx) 这在 JSLint 中报错  Do not  use String as a conctruct https://jslinterrors.com/do-not-use-a-as-a-c

collection.toArray(new String[0])中new String[0]的作用

new string[0]的作用 比如:String[] result = set.toArray(new String[0]); Collection的公有方法中,toArray()是比较重要的一个. 但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]. 虽然Object数组也不是不能用,但当你真的想用一个具体类型的数组,比如String[]时,问题就来了.而把Object[]给cast成 String[]还是很麻烦的,需要用到这个: String[] str

String s=&quot;abc&quot;及String s=new String(&quot;abc&quot;)详解

一.相关知识点 1.   栈(stack)与堆(heap)都是Java用来在Ram(随机存取存储器)中存放数据的地方, 栈数据可以共享. 2.   栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器.缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性. 堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据.缺点是,由于要在运行时动态分配内存,存取速度较慢. 3.   ==是判断两个对象是否是同一个对象即引用地址:equa

java的String和android的String有什么区别?

这是今天阿里电话面试被问到的,在之前确实没有想过(一直以为是一样的),于是面试完之后,我马上打开了源码,对这两个String类进行了比较,下面是我的发现. 首先我观察了这两个String类所导入的包,发现两者有些差异: 这是android版本: import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.CharBuffe

深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。

1:要判断2个字符串变量是否相等,最高效的方法是看它们是否指向相同的内存地址.前面使用RefernceEquals方法来比较.如果2个变量指向的是不同的内存地址,那么就需要逐字符的比较2个字符串的变量,才能确认它们是否相等.由于逐字比较会花费大量的时间,降低性能.所以.NET提供了String.Equals方法来优化比较过程该方法能自动地完成引用比较和值比较. string str1="abc"; string str2="abc"; string str3=Str

String s;和String s=null;和String s=&quot;a&quot;;有什么区别?

String s;和String s=null;和String s="a";有什么区别?   针对这三种情况,使用out.println(s);的时候,第一个会出现异常,第二个会输出null.第三个则会输出a.   这是为什么呢?这三句声明语句,各自作了什么呢? 答: 第一个只是定义了一个String类型变量s,并没有给它赋初值,在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险). 第二个和第三个都定义了String类型变量s,并赋予它初值,只不过第二个赋予的值为null