Properties文件,Data,Calendar类的使用
package cn.hncu.day9;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class PropertiesDemo {
//注意,a.properties文件应该放在项目根目录,即和src,bin文件夹并列的地方
public static void main(String[] args) {
//掌握Properties,只要会如下几个方法就玩转: Properties(), load(), store(), setProperty(),getProperty()
//1 Properties()
Properties p = new Properties();
//2 load()
try {
InputStream in = new FileInputStream("a.properties");
p.load(in);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//3 getProperty()
System.out.println( p.getProperty("size") );
System.out.println( p.getProperty("times") );
System.out.println( p.getProperty("name") );//property文件中的汉字需要转码,否则会乱码,而MyEclipse中的property文件编辑器自动会帮我们做的
//4 setProperty()
p.setProperty("size", "123");//注意,key和value都是文本
int v = Integer.parseInt(p.getProperty("times"))+123;
p.setProperty("times", ""+v);
//5 store()
try {
OutputStream out = new FileOutputStream("a.properties");
p.store(out, "湖南城院");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("-----------------");
//罗列出系统(Java虚拟机)的属性
Properties p2 = System.getProperties();
Enumeration e = p2.propertyNames();
while(e.hasMoreElements()){
String key = (String) e.nextElement();
String value = p2.getProperty(key);
System.out.println(key+"="+value);
}
}
}
-----------------------------------------------------------------
package cn.hncu.day9;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import javax.swing.JOptionPane;
public class AppTryTimes {
public static void main(String[] args) {
if( !countTimes() ){
JOptionPane.showMessageDialog(null, "软件试用次数已满,请注册!");
return;
}
System.out.println("程序正常运行....");
}
private static boolean countTimes() {
Properties p = new Properties();
int count = 0;
try {
File file = new File("times.uni");
if(!file.exists()){
file.createNewFile();
}
FileInputStream fin = new FileInputStream("times.uni");
p.load(fin);
String strValue = p.getProperty("count");
if(strValue!=null){
count = Integer.parseInt(strValue);
if(count>=5){
return false;
}
}
count++;
System.out.println("软件已经运行"+count+"次!");
p.setProperty("count", ""+count);
//new FileOutputStream(file)---这一句运行时会把原来的旧文件充掉
p.store(new FileOutputStream(file),"");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}
------------------------------------------------------------------------
package cn.hncu.day9;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
//demo1();//计算程序耗时
demo2();
}
private static void demo2() {
//日期计算
Date d = new Date();//当前日期时间(对象)
System.out.println(d);
long t = 5*24*60*60*1000 + d.getTime();//5天以后的日期对象的精确值
d.setTime(t);
//格式化: 日期对象-->日期的字符串
//DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SS毫秒");
String str = df.format(d);
System.out.println("str:"+str);
//解析: 日期的字符串-->日期对象
DateFormat df2 = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
try {
Date d2 = df2.parse("08/08/2008 08:08:08");
System.out.println(d2);
System.out.println( df.format(d2) );
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void demo1(){
Date d = new Date();//对象,内部存储的精确值:1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数
long t = d.getTime();//获取其中的精确值
for(int i=0;i<1000;i++){
System.out.println(i);
}
Date d2 = new Date();
long t2 = d2.getTime();
System.out.println("本程序的运行时间:"+ (t2-t));
}
}
-------------------------------------------------------------------------------------------------------------
package cn.hncu.day9;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println( c.get(Calendar.YEAR) );//获取年份
System.out.println( c.get(Calendar.MONTH) +1 );//注意,月份要加1
System.out.println( c.get(Calendar.DAY_OF_MONTH) );//获取日期
//显示星期几
//System.out.println( c.get(Calendar.DAY_OF_WEEK)-1 );//我们的星期一是它的第2天,因为它的第1天是从星期日开始的
System.out.println( getWeekDay(c) );
//日期计算
c.set(Calendar.YEAR, 3000);//给日历中的某个字段直接设置值
System.out.println( getWeekDay(c) );
//System.out.println(new Date().getTime());
c.setTime( new Date(1465215452531L+5*24*60*60*1000) );
System.out.println( c.get(Calendar.DAY_OF_MONTH) );//获取日期
System.out.println( getWeekDay(c) );
Calendar c2 = Calendar.getInstance();
//c2.add(Calendar.DAY_OF_MONTH,100);//100天后的日期(日历)对象
c2.add(Calendar.DAY_OF_MONTH,-100);//100天以前的日期(日历)对象
System.out.println( c2.get(Calendar.MONTH)+1 );
System.out.println( getWeekDay(c2) );
}
/*自己写的一个正确显示星期几的小工具*/
public static String getWeekDay(Calendar c){
String strs[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return strs[ c.get(Calendar.DAY_OF_WEEK)-1 ];
}
}
Properties文件,Data,Calendar类的使用的更多相关文章
- properties文件读写工具类
java代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; ...
- properties文件读取工具类
项目中防止硬编码,经常会将一些与业务相关的数据存在properties文件中,根据不同的key加载不同的数据,所以就会有读取properties文件的东西,这篇文章仅为了以后copy方便写的. 1.添 ...
- Properties文件工具读取类
import java.io.IOException;import java.io.InputStream;import java.util.Properties; public class Comm ...
- properties文件读写工具类PropertiesUtil.java
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- SpringBoot连接Oracle报错,找不到驱动类,application.properties文件中驱动类路径为红色
pom.xml文件: <!-- oracle odbc --> <dependency> <groupId>com.oracle</groupId> & ...
- 161216、使用spring的DefaultResourceLoader自定义properties文件加载工具类
import java.io.IOException; import java.io.InputStream; import java.util.NoSuchElementException; imp ...
- Properties文件工具类的使用--获取所有的键值、删除键、更新键等操作
有时候我们希望处理properties文件,properties文件是键值对的文件形式,我们可以借助Properties类操作. 工具类如下:(代码中日志采用了slf4j日志) package cn. ...
- 使用spring的DefaultResourceLoader自定义properties文件加载工具类
转自:https://www.cnblogs.com/zrbfree/p/6230957.html import java.io.IOException; import java.io.InputSt ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
随机推荐
- 四校训练 warm up 14
A:Pythagoras's Revenge 代码: #include<cstdio> #define ll long long using namespace std; int main ...
- hdu 4442
一道超级easy的贪心 一眼看出了他的本质: 代码: #define mod 31536000 #include<cstdio> #include<algorithm> #in ...
- Ubuntu修改语言环境为英文
转自把语言环境变量改为英文 将Ubuntu系统语言环境改为英文的en_US.UTF-8 查看当前系统语言环境 locale 编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为e ...
- 使用 Python 的 SQLite JSON1 和 FTS5 扩展
早在九月份,编程界出现一个名为 json1.c 的文件,此前这个文件一直在 SQLite 的库里面.还有,笔者也曾总结通过使用新的 json1 扩展来编译 pysqlite 的技巧.但现在随着 SQL ...
- String 类型的相关转换
题目: what is the result of the expression 5.4+"3.2"? 答案: 当一个运算数为原始数据类型,另外一个为字符串时,则基本数据类型会转化 ...
- Hibernate 注解 没有加@Column一样会在数据库创建这些字段
Hibernate 注解 没有加@Column一样会在数据库创建这些字段 如下一个注解类: package com.hyy.hibernate.one_to_many.domain; import j ...
- 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique
2016-10-09 23:14:43.177 DEBUG [restartedMain][org.springframework.core.type.classreading.AnnotationA ...
- JMS的作用
JMS就是生产者与消费者模式.消费者负责消费生产者产生的消息.通过JMS可以做后台的异步操作,应用到具体工作中的话,有用它来发内部消息的.发邮件的.发短信的,做大操作时在后台做异步操作的. Java ...
- Web安全测试之XSS(转)
XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞.指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的 ...
- pcDuino无显示器刷机与使用
准备工作: pcduino : 点此购买 一个可用的并且启用了DHCP的有线路由器. 连接pcduino与路由器的网线一根. 至少1张4G microSD卡,如果内存卡不大,可以用内存卡刷内核,用u盘 ...