Java Day 20
Posted zhuzhuqwa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Day 20相关的知识,希望对你有一定的参考价值。
System类
long currentTimeMillis();当前时间毫秒值
getProperties()
获取系统的属性信息,存储到properties集合
使用自身的方法存取元素
也可以自己定义一些属性信息
Runtime类
Runtime 没有构造方法,不可以创建对象
有非静态方法,则该类应该提供静态的返回该类对象的方法。
单例设计模式
Math类
final修饰
ceil()
floor()
round()
Date类
毫秒与日期转化
日期对象转换成日期格式字符串
DateFormat类中的format方法
日期格式字符串转换成日期对象
DateFormat类中的parse方法
1 package com.company.Day020; 2 3 import com.oracle.webservices.internal.api.message.PropertySet; 4 import org.omg.Messaging.SYNC_WITH_TRANSPORT; 5 6 import java.io.IOException; 7 import java.text.DateFormat; 8 import java.text.ParseException; 9 import java.text.SimpleDateFormat; 10 import java.util.Calendar; 11 import java.util.Date; 12 import java.util.Properties; 13 import java.util.Set; 14 15 /** 16 * Created by junius on 2016/10/16. 17 */ 18 public class Demo001 { 19 private static final String LINE_SEPARATOR = System.getProperty("line.separator"); 20 21 public static void main(String[] args) throws ParseException { 22 //System.out.println(System.currentTimeMillis()); 23 //demo_1(); 24 // System.out.print("hello"+LINE_SEPARATOR+"world"); 25 // demo_3(); 26 String s1 = "2016-9-12"; 27 String s2 = "2016-9-16"; 28 int days = getDays(s1,s2); 29 //System.out.print("days = "+days); 30 int year =2012; 31 showDate2(year); 32 33 34 } 35 36 public static void showDate2(int year) { 37 Calendar c = Calendar.getInstance(); 38 c.set(year,2,1); 39 c.add(Calendar.DAY_OF_MONTH,-1); 40 showDate(c); 41 } 42 43 private static void showDate(Calendar c) { 44 int year = c.get(Calendar.YEAR); 45 int month = c.get(Calendar.MONTH)+1; 46 int day = c.get(Calendar.DAY_OF_MONTH); 47 int week = c.get(Calendar.DAY_OF_WEEK); 48 System.out.print(year+"/"+month+"/"+day+" "+getWeek(week)); 49 } 50 51 private static String getWeek(int i) { 52 String[] week ={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; 53 return week[i]; 54 } 55 56 private static int getDays(String s, String s1) throws ParseException { 57 DateFormat dateFormat = DateFormat.getDateInstance(); 58 dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 59 60 Date date_Str1 =dateFormat.parse(s); 61 Date date_Str2 =dateFormat.parse(s1); 62 63 long l1 = date_Str1.getTime(); 64 long l2 = date_Str2.getTime(); 65 66 long time = Math.abs(l1-l2); 67 68 int day = getDay(time); 69 return day; 70 } 71 72 private static int getDay(long time) { 73 return (int)(time/1000/60/60/24); 74 } 75 76 private static void demo_3() throws ParseException { 77 String str_date = "2016--10--16"; 78 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG); 79 dateFormat = new SimpleDateFormat("yyyy--MM--dd"); 80 Date date = dateFormat.parse(str_date); 81 82 System.out.println(date); 83 } 84 85 private static void demo_2() { 86 Date date = new Date(); 87 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM); 88 //dateFormat = DateFormat.getDateTimeInstance(); 89 String str_date = dateFormat.format(date); 90 System.out.print(str_date); 91 } 92 93 private static void demo_1() { 94 95 Runtime r = Runtime.getRuntime(); 96 try { 97 r.exec("notepad.exe"); 98 } catch (IOException e) { 99 e.printStackTrace(); 100 } 101 102 Properties pp = System.getProperties(); 103 Set<String> nameset = pp.stringPropertyNames(); 104 105 for(String name : nameset){ 106 String value = pp.getProperty(name); 107 System.out.println(name+":"+value); 108 } 109 } 110 111 112 }
Calendar类
IO流
字节流的抽象基类
InputStream OutputStream
字符流的抽象基类
Reader Writer
文字数据,优先考虑字符流
如果文件不存在,就自动创建
如果文件存在,就覆盖。
换行和续写
续写:使用构造函数
1 package com.company.Day020; 2 3 import java.io.FileWriter; 4 import java.io.IOException; 5 6 /** 7 * Created by junius on 2016/10/16. 8 */ 9 public class File002{ 10 private static String LINE_SEPARATOR=System.getProperty("line.separator"); 11 12 public static void main(String[] args){ 13 FileWriter fw = null; 14 try { 15 fw = new FileWriter("demo.txt"); 16 fw.write("ww"+LINE_SEPARATOR+"w"); 17 fw.flush(); 18 fw.write("zz\r\nz"); 19 } catch (IOException e) { 20 e.printStackTrace(); 21 }finally { 22 if(fw!=null)//如果不判断就会报空指针异常 23 try { 24 fw.close(); 25 } catch (IOException e) { 26 e.printStackTrace(); 27 } 28 } 29 30 31 } 32 }
IO异常处理
FileReader -- 读取方式一
1、确保文件一定存在
读取方式二
read(char[])
1 package com.company.Day020; 2 3 import java.io.FileNotFoundException; 4 import java.io.FileReader; 5 import java.io.IOException; 6 import java.io.Reader; 7 8 /** 9 * Created by junius on 2016/10/17. 10 */ 11 public class ReadDemo002 { 12 public static void main(String[] args) throws IOException { 13 Reader r = null; 14 int i=0; 15 16 r = new FileReader("demo.txt"); 17 18 while((i=r.read())!=-1){ 19 //System.out.print((char)i); 20 } 21 22 r.close(); 23 24 Reader r2 = new FileReader("demo.txt"); 25 26 char[] buf = new char[10]; 27 28 //int num = r2.read(buf); 29 30 int len = 0; 31 while((len=r2.read(buf))!=-1){ 32 System.out.print(new String(buf,0,len)); 33 } 34 35 36 } 37 }
以上是关于Java Day 20的主要内容,如果未能解决你的问题,请参考以下文章