hashtable的一个子类,也就是一个map集合
import java.util.*; public class anli { public static void main (String[] args) { // getvalue(); //查看属性 oftenusevalue(); //常用操作 } public static void getvalue() { //properties存储的都是字符串,所以没有泛型限制。。。 //System是不能实例化的,原因就是没有提供函数,里面所有的方法都是静态的。 Properties pro = System.getProperties(); //返回的是属性,虚拟机默认加载的信息。。。 //sop(pro); for(Object obj : pro.keySet()) //可以这样子使用是因为properties是hashtable的一个子类,也就是一个map集合。。。 { String str = (String)pro.get(obj); sop(obj+"::"+str); } } public static void oftenusevalue () { System.setProperty("aa","aaa"); //设置属性 //sop(System.getProperties()); String str = System.getProperty("os.name"); //获得属性 sop(str); //返回的是操作系统的名字 } //如果key值不存在,那么返回的是null public static void sop (Object obj) { System.out.println(obj); } }
package hanshi.net;import java.util.*;import java.io.*;public class count { public static void main(String[] args)throws Exception { Properties prop = new Properties(); FileInputStream fis = new FileInputStream("string.txt"); prop.load(fis); //把流中的数据加载到集合中 prop.list(System.out); //把集合中的数据全部包装后输出到参数指定的位置 } static public void print(Object obj){ System.out.println(obj); }}
Runtime,SimpleDateFormat,Calendar
每一个java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接, 可以通过getRuntime方法获取当前运行时 应用程序不能创建自己的Runtime实例类,因为没有构造函数,所以不能用来new, process可以看做是一个用来操作进程的类,Process类里面的方法都是抽象的都是abstract函数,因为调用的是底层的资源,进程不是自己创建的, 是调用程序的时候创建的,自己也没办法创建,所以就只是定义了调用了接口,没有个出具体的实现。
package hanshi.net;import java.util.*;import java.text.*;public class count { public static void main(String[] args)throws Exception { Properties prop = System.getProperties(); //print(prop); Iterator it = prop.keySet().iterator();//因为Properties是Map的一个子类,所以可以使用这种方法来遍历数据并取出 while(it.hasNext()){ Object obj = it.next(); String value = (String)prop.get(obj); //print(obj+"*********"+value); } for(Object o : prop.keySet()){ //keyset的返回值是Object类型 String value1 = (String)prop.get(o); //get返回的也是Object类型 //print(o+"*********"+value1); } Runtime r = Runtime.getRuntime(); //这个类的方法的使用是要抛出异常的 //Process p = r.exec("calc.exe demo.java"); //如果要使用删除线程的方法,那么就一定有Process 可以空格后加上要运行的内容 //Thread.sleep(4000); //p.destroy(); //启动线程之后,如果要对其进行操作,那么就一定要通过P来实现 //Process p1 = r.exec("noteped.exe count.java"); //可以带两个参数的 但是还是在同一个双引号下面,只是空格隔开,第一个参数是打开程序,第二个就是运行的数据。 Date d = new Date(); //print(d); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss"); DataFormat是抽象类,这个继承的子类就不是抽象类 String time = sdf.format(d); //使用这个模板要机上text包 //print(time); Calendar ca = Calendar.getInstance(); //print(ca); //print(ca.get(Calendar.YEAR)+"年"+ca.get(Calendar.MONTH)+"月"+ca.get(Calendar.DAY_OF_MONTH)+"日"); //获取日期的操作, 月是从0开始,星期是按照星期日从1开始 for(int i=0;i<10;i++){ print((int)(Math.random()*10)); //返回0到9的数据 } } static public void print(Object obj){ System.out.println(obj); }}