常用工具类1

1. Runtime类的使用

例1. 内存管理示例程序。

package util;

public class demoMemory {

    public static void main(String[] args) {
        try {
            Runtime runObj = Runtime.getRuntime();
            System.out.println("虚拟机可用存储空间:"+runObj.totalMemory());
            System.out.println("申请空间之前剩余空间:"+runObj.freeMemory());
            Integer buf[]=new Integer[10240];
            System.out.println("申请空间后剩余空间:"+runObj.freeMemory());
            //启动垃圾回收线程
            runObj.gc();
            Thread.sleep(1000);
            System.out.println("启动垃圾收集机制后剩余空间:"+runObj.freeMemory());
            System.out.println("======为对象分配值,重复上述操作======");
            for(int i=0;i<10240;i++)
                buf[i]=i+1;
            Thread.sleep(1000);
            System.out.println("对象赋值后剩余空间:"+runObj.freeMemory());
            runObj.gc();
            Thread.sleep(1000);
            System.out.println("启动垃圾回收机制后剩余空间:"+runObj.freeMemory());
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

}

程序运行结果如下:

虚拟机可用存储空间:5177344
申请空间之前剩余空间:4937392
申请空间后剩余空间:4896416
启动垃圾收集机制后剩余空间:4979744
======为对象分配值,重复上述操作======
对象赋值后剩余空间:4822272
启动垃圾回收机制后剩余空间:4812736

2. 执行其他程序

例2. 启动记事本。

package util;

import java.io.IOException;

public class runNotepad {

    public static void main(String[] args) {
        Runtime runObj = Runtime.getRuntime();
        try {
            runObj.exec("notepad");

        } catch (IOException e) {
            System.out.println("无法启动记事本");
        }

    }

}

用记事本打开F:\workspace\Test\src\util下的runNotepad.java文件:

package util;

import java.io.IOException;

public class runNotepad {

    public static void main(String[] args) {
        Runtime runObj = Runtime.getRuntime();
        try {
            String cmdarray[] = {"notepad","F:\\workspace\\Test\\src\\util\\runNotepad.java"};
            runObj.exec(cmdarray);
        } catch (IOException e) {
            System.out.println("无法启动记事本");
        }

    }

}

下面的程序会等记事本执行完毕后才结束:

package util;

import java.io.IOException;

public class runNotepad {

    public static void main(String[] args) {
        Runtime runObj = Runtime.getRuntime();
        Process prc = null;
        try {
            String cmdarray[] = {"notepad","F:\\workspace\\Test\\src\\util\\runNotepad.java"};
            prc = runObj.exec(cmdarray);
            prc.waitFor();
        } catch (IOException e) {
            System.out.println("无法启动记事本");
        } catch (InterruptedException e) {
            System.out.println("异常中断!");
        }
        System.out.println("记事本返回值为:"+prc.exitValue());
    }

}

程序运行结果:

记事本返回值为:0

3. 利用currentTimeMillis()记录程序执行的时间。——System类的使用
例3. 计算程序运行时间。

package util;

public class elapsed {

    public static void main(String[] args) {
        try {
            long start = System.currentTimeMillis();
            System.out.println("程序开始执行......");
            Thread.sleep(1000);
            long end = System.currentTimeMillis();
            System.out.println("程序执行结束!");
            System.out.println("程序执行时间为:"+(end-start)+"毫秒");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

}

程序运行结果为:

程序开始执行......
程序执行结束!
程序执行时间为:1000毫秒

4. exit()退出方法

例4. 从子线程中退出虚拟机。

package util;

public class exitJVM extends Thread {

    public static void main(String[] args) {
        exitJVM tr = new exitJVM();
        tr.start();
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("主线程结束!");
    }

    public void run(){
        System.out.println("这是在子线程中!");
        System.exit(0);
    }
}

程序运行结果如下:

这是在子线程中!

5. 获取和设置环境属性

例5. 获取环境属性:

package util;

public class showProperties {

    public static void main(String[] args) {
        System.out.println("Java 运行环境版本:"+System.getProperty("java.version"));

    }

}

6. Date类的简单使用

例6. 显示当前时间。

package util;

import java.util.Date;

public class currentTime_1 {

    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date.getTime());
    }

}

程序运行结果:

1422019278109

7. 使用SimpleDateFormat格式化输出时间

假如程序员希望定制日期数据的格式,比如“星期二-04月-09日-2013年”,这需要用到另外一个类:java.text.SimpleDateFormat,这个类是从抽象类java.text.DateFormat派生出来的。

例7. 按照定制格式显示日期。

package util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class currentTime_2 {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-EEEE");
        Date date = new Date();
        System.out.println(sdf.format(date));
    }

}

程序运行结果如下:

2015-01-23-星期五

例8. 按照定制格式显示日期。

package util;

import java.text.DateFormat;
import java.util.Date;

public class currenTime_3 {

    public static void main(String[] args) {
        Date date = new Date();
        DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
        DateFormat longDateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
        DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
        DateFormat fullDateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
        System.out.println(shortDateFormat.format(date));
        System.out.println(mediumDateFormat.format(date));
        System.out.println(longDateFormat.format(date));
        System.out.println(fullDateFormat.format(date));
    }

}

程序运行结果如下:

15-1-23 下午10:03
2015-1-23 22:03:45
2015年1月23日 下午10时03分45秒
2015年1月23日 星期五 下午10时03分45秒 CST

例9. 从文本串创建日期对象。

package util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class textToTime {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
        String s = "01-23-2015";
        try {
            Date date = sdf.parse(s);
            System.out.println(date.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

}

程序运行结果如下:

1421942400000

这个数的末尾全是0,是因为时间字符串中没有指定时、分、秒。

8. Calendar类的特色

例10. 用Calendar显示当前的日期和时间。

package util;

import java.util.Calendar;

public class DateAndTime {
    //星期要转换成汉语显示,数字1表示星期日
    static final char days[] = {‘ ‘,‘日‘,‘一‘,‘二‘,‘三‘,‘四‘,‘五‘,‘六‘};
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH)+1;
        int date = cal.get(Calendar.DATE);
        int day = cal.get(Calendar.DAY_OF_WEEK);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int min = cal.get(Calendar.MINUTE);
        int sec = cal.get(Calendar.SECOND);
        System.out.println("今天是:"+year+"年"+month+"月"+date+"号"+"  星期"+days[day]);
        System.out.println("现在的时间是: "+hour+":"+min+":"+sec);
    }

}

程序运行结果如下:

今天是:2015年1月24号  星期六
现在的时间是: 11:10:22

9. 利用GregorianCalendar输出日历

例11. 用GregorianCalendar实现一个万年历。

package util;
import java.util.*;
public class showCalendar {
    //用来显示日历头
    static final String head[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int i;
        System.out.println("请输入年份:");
        int year = in.nextInt();
        System.out.println("请输入月份: ");
        int month = in.nextInt()-1;  //GregorianCalendar的第一个月是0,和人的理解不同
        in.close();
        //以指定的年、月、该月的第一天来创建对象
        GregorianCalendar cal = new GregorianCalendar(year,month,1);
        //获取这个月的天数
        int totalDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        //获取这个月的第一天是星期几
        int startDay = cal.get(Calendar.DAY_OF_WEEK)-1;
        //输出日历头部,每一个输出项占8个字符宽度
        for(i=0;i<head.length;i++)
            System.out.print(head[i]+"   ");
        System.out.println();
        //输出第一天之前的空格,每个输出项占8个空格
        for(i=0;i<startDay;i++)
            System.out.print("        ");
        //依次输出每一天,每一个输出项占8个字符宽度
        for(int day =1;day<=totalDays;day++){
            System.out.printf("   %2d   ",day);
            i++;
            if(i==7){
                System.out.println();
                i=0;
            }
        }

    }

}

程序运行结果如下:

请输入年份:
2015
请输入月份:
2
星期日   星期一   星期二   星期三   星期四   星期五   星期六
    1       2       3       4       5       6       7
    8       9      10      11      12      13      14
   15      16      17      18      19      20      21
   22      23      24      25      26      27      28   
时间: 2024-11-08 18:28:39

常用工具类1的相关文章

Android 常用工具类之SPUtil,可以修改默认sp文件的路径

参考: 1. 利用Java反射机制改变SharedPreferences存储路径    Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.SharedPreferences; import java.io.

js常用工具类.

一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * 使用方式一: * var now = new Date(); * var nowStr = now.dateFormat("yyyy-MM-dd hh:mm:ss"); * 使用方式二: * new Date().dateFormat("yyyy年MM月dd日");

[C#] 常用工具类——文件操作类

/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在</para> /// <para> IsImgFilename:判断文件名是否为浏览器可以直接显示的图片文件名</para> /// <para> CopyFiles:复制指定目录的所有文件</para> /// <para> MoveFi

[C#] 常用工具类——直接在浏览器输出数据

/// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> -------------------------------------------------------------</para> /// <para> DumpDataTable:接在浏览器输出数据DataTable</para> /// <para> DumpListIt

c#常用工具类:文件和二进制转换

//================二进制相关转换类============== #region 将文件转换为二进制数组 /// <summary> /// 将文件转换为二进制数组 /// </summary> /// <param name="FilePath">文件完整路径</param> /// <returns>二进制数组</returns> public static byte[] FileToBinar

java常用工具类(java技术交流群57388149)

package com.itjh.javaUtil; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * @author 宋立君 * @date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NOT_FOUND = -1; private static final String EMPTY =

[C#] 常用工具类——应用程序属性信息访问类

using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——应用程序属性信息访问类 /// <para> -------------------------------------------</para&g

C#常用工具类——Excel操作类

/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> /// <para> CreateConnection:根据Excel文件路径和EXCEL驱动版本生成OleConnection对象实例</para> /// <para> ExecuteDataSet:执行一条SQL语句,返回一个DataSet对象</para>

[C#] 常用工具类——加密解密类

using System; using System.Configuration; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using S

[C#] 常用工具类——系统日志类

using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Utils { /// <summary> /// <para> </para> /// 常用工具类——系统日志类 /// <para> ---------------------------------------------------</par